Мы переводим наш SQL Server на новое оборудование. Первоначально мы собирались сделать это просто с помощью резервного копирования и восстановления, но заметили, что нам придется воссоздать все логины. Мы не хотим этого делать :)
Время простоя не является проблемой, можно ли просто остановить старый и новый сервер и скопировать все файлы mdf между ними? Это скопирует главную базу данных, которая имеет логины, а также все базы данных. Я просто не знаю, поддерживается ли это.
Мы используем SQL Express, поэтому у нас нет наворотов, но, с другой стороны, время простоя не является проблемой.
Спасибо!
Я бы не рекомендовал вам перемещать основные файлы базы данных, как вы планируете это сделать. Это более беспорядочно, чем по сравнению с перемещением логинов. На самом деле переместить логины будет проще, если вы будете следовать предыдущей статье.
http://support.microsoft.com/kb/918992
Я бы рекомендовал использовать DETACH и использовать CREATE DATABASE FOR ATTACH.
http://weblogs.sqlteam.com/dang/archive/2009/01/18/Dont-Use-sp_attach_db.aspx http://www.sqlservercentral.com/articles/Administration/65896/
Расположение каждого файла базы данных для каждой базы данных хранится в master
, в абсолютном полном пути. Это означает, что вам придется скопировать все файлы в именно тот же полный путь на новом сервере (включая букву диска). Если это возможно, то вы можете скопировать файлы. После копирования @@SERVERNAME
вернет старое имя сервера, и это можно исправить, выполнив процедуру, описанную в KB818334. Еще одна вещь, на которую следует обратить внимание: если у вас есть что-либо, связанное с шифрованием, которое могло быть сохранено с использованием машины DPAPI или служебного ключа (например, учетные данные связанного сервера, прокси, главные ключи базы данных и т. Д.), Они не будут доступны после копирования, потому что новый хост DPAPI не сможет их расшифровать.
В целом, копирование файлов (особенно главных) не является поддерживаемой процедурой и может привести к невозможности использования сервера. Копирование логинов - процедура хорошо известная и поддерживается (есть даже Задача SSIS для этого).