sql >> Database >  >> RDS >> Sqlserver

Hoe alle databases met gebruikers, schema en rollen van de ene server naar de andere te verplaatsen/kopiëren?

  1. Klik met de rechtermuisknop op de database
  2. Klik op taken
  3. Klik op scripts genereren
  4. Doorloop de wizard en selecteer uw tabellen
  5. Klik op de optiepagina op de knop Geavanceerd (deze is er, valt alleen niet zo goed op)
  6. Wijzig de optie "Soorten gegevens in script"

Er zijn opties om gegevens en aanmeldingen te scripten (een heleboel andere dingen). Het is erg handig.

Dit is het script dat een script genereert om alle rollen aan alle databases toe te voegen

declare @selectStatement varchar(1000)

set @selectStatement = 'Use ?;SELECT ''USE ?''; SELECT ' + '''EXECUTE sp_AddRoleMember ''''' + ''' + roles.name + '''''''+','''''+''' +  Replace(users.name,''DOMAINA'',''DOMAINB'') + ''' + '''''''
     from sys.database_principals users
    inner join sys.database_role_members link
    on link.member_principal_id = users.principal_id
   inner join sys.database_principals roles
     on roles.principal_id = link.role_principal_id'

                            --where users.name like ''%%'''

                EXEC sp_MSForEachDB @selectStatement;


  1. Versleuteld veld zoeken in Postgres

  2. cursor met sp_executesql en parameters

  3. ProgrammingError:niet alle argumenten geconverteerd tijdens tekenreeksopmaak

  4. Grondbeginselen van tabeluitdrukkingen, deel 5 – CTE's, logische overwegingen