Мне нужно перенести базу данных (в целом) на другой сервер, чтобы сделать копию базы данных для настройки другой тестовой среды.
У меня есть два варианта:
- Сделайте полную резервную копию на исходном сервере / восстановите на конечном сервере;
- Отключить на исходном сервере / присоединить на конечном сервере.
Каковы плюсы и минусы двух решений в соответствии с моими требованиями?
Я использую SQL Server 2008 Enterprise.
источник
Если вы решили выполнить резервное копирование / восстановление, используйте параметр WITH COPY_ONLY во время резервного копирования, чтобы убедиться, что цепочка резервного копирования любого существующего плана обслуживания не нарушена.
Файл .bak хорошо сжимается, поэтому, если вы решите сделать резервную копию, сжатие резервной копии перед ее перемещением может сэкономить некоторое время передачи.
источник
Я бы пошел на резервное копирование / восстановление, поскольку он оставляет исходную базу данных в рабочем состоянии.
Особенно, если вы выполняете преобразование «производство в тест», важно, чтобы производственная база данных оставалась онлайн.
Резервное копирование / восстановление также является более безопасным вариантом: что произойдет, если файл будет поврежден где-то между началом отсоединения, копированием, вложением и т. Д.? По крайней мере, если вы выполните резервное копирование и файл станет поврежденным, вы можете начать все сначала. Если это происходит с отсоединением, ваша база данных исчезла.
Кроме того, для меня (хотя это больше чувство, чем что-либо еще), резервное копирование / восстановление - это «повседневная работа», тогда как отсоединение / подключение - это то, что вы делаете в исключительных обстоятельствах. Не спрашивайте меня, откуда у меня эта идея ;-)
источник
У меня всегда были проблемы с «восстановлением» части резервного копирования / восстановления. Я не могу процитировать конкретику, так как в конце концов отказался от нее и с тех пор отрываю / копирую / прикрепляю.
Единственное, что нужно отсоединить, - это то, что вы ДОЛЖНЫ ИМЕТЬ, чтобы убедиться, что СУБД также не удалит базу данных. Имели это случиться, и это не симпатичное зрелище.
источник
Я рекомендую сделать
copy_only
резервную копию этого метода из оболочки DOS (чтобы не прерывать журналы транзакций) :Запустить из
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backup
каталога:Где
backup.bat
содержится (разрыв строки добавлен для удобства чтения) :источник