Как переместить / скопировать все базы данных с пользователями, схемами и ролями с одного сервера на другой - PullRequest
1 голос
/ 09 декабря 2011

Мне нужно переместить / скопировать все мои базы данных (только 5) с одного сервера на другой.Я знаю, как выполнять резервное копирование и восстановление, но мне также нужно перемещать всю информацию о моих базах данных, включая пользователей, схемы и т. Д. *

Ответы [ 3 ]

3 голосов
/ 09 декабря 2011
  1. Щелкните правой кнопкой мыши на БД
  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 голос
/ 09 декабря 2011

Я бы предложил использовать для этой задачи SQL Compare от Red Gate.Я стою немного, но это стоит каждой копейки.Обратите внимание, что SQL Compare не переносит физические базы данных, а только содержимое баз данных.

1 голос
/ 09 декабря 2011

В общем случае есть две возможности для копирования базы данных:

1 BACKUP-RESTORE В этом случае у вас возникнут некоторые проблемы, основной из которых является After you move databases to a new server, users may not be able to log in to the new server. Решение этой проблемы предоставлено здесь:

Как передавать логины и пароли между экземплярами SQL Server

2 DETACH-COPY-ATTACH это просто копирование (или перемещение) файлов базы данных в другойserver.

О плюсах и минусах каждого подхода вы можете прочитать здесь Резервное копирование / восстановление SQL Server против отсоединения / присоединения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...