Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak przenieść/skopiować wszystkie bazy danych z użytkownikami, schematem i rolami z jednego serwera na drugi?

  1. Kliknij prawym przyciskiem myszy na bazę danych
  2. Kliknij zadania
  3. Kliknij na generowanie skryptów
  4. Przejdź przez kreatora i wybierz swoje stoły
  5. Na stronie opcji kliknij przycisk Zaawansowane (jest tam, po prostu nie wyróżnia się zbyt dobrze)
  6. Zmień opcję „Typy danych do skryptu”

Istnieją opcje skryptowania danych i logowania (mnóstwo innych rzeczy). To bardzo przydatne.

Oto skrypt, który wygeneruje skrypt, który doda wszystkie role we wszystkich bazach danych

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. Jak wstawić dane z jednej kolumny do innej tabeli

  2. DATEDIFF() Przykłady w SQL Server

  3. Jak dołączyć MDF bez pliku dziennika?

  4. SQL Server:Jak przechowywać dane binarne (np. plik Word)?

  5. Linq to SQL DateTime wartości są lokalne (rodzaj =nieokreślony) — jak to zrobić w czasie UTC?