sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan flyttes/kopieres alle databaser med brugere, skema og roller fra en server til en anden

  1. Højreklik på DB
  2. Klik på opgaver
  3. Klik på generer scripts
  4. Gå gennem guiden og vælg dine tabeller
  5. På indstillingssiden skal du klikke på knappen Avanceret (den er der, skiller sig bare ikke særlig godt ud)
  6. Skift indstillingen "Datatyper til script"

Der er muligheder for at scripte data og logins (et væld af andre ting). Det er meget praktisk.

Her er scriptet, der genererer et script til at tilføje alle roller på alle databaser

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. JPA Gemmer forkert dato i MySQL-databasen

  2. SQLServer IDENTITY Kolonne med tekst

  3. Skæring af flere arrays i PostgreSQL

  4. Skal oprette en trigger, der øger en værdi i en tabel efter indsættelse