Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да преместите/копирате всички бази данни с потребители, схема и роли от един сървър на друг

  1. Щракнете с десния бутон върху DB
  2. Щракнете върху задачи
  3. Щракнете върху генериране на скриптове
  4. Преминете през съветника и изберете вашите таблици
  5. На страницата с опции щракнете върху бутона Разширени (Той е там, просто не се откроява много)
  6. Променете опцията „Типове данни към скрипт“

Има опции за скриптиране на данни и влизания (много други неща). Много е удобно.

Ето скрипта, който ще генерира скрипт за добавяне на всички роли във всички бази данни

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранение на UTF-16/Unicode данни в SQL Server

  2. Защо да вмъкнете блок на TSQL оператор, когато нивото на изолация на транзакция за друга транзакция може да се сериализира с неконфликтен филтър?

  3. SQL:Актуализиране на ред и връщане на стойност на колона с 1 заявка

  4. Плюсове и минуси на използването на SqlCommand Prepare в C#?

  5. Защо да използвате Select Top 100 процента?