Назад | Перейти на главную страницу

SQL Server Express - перемещение путем копирования папки данных?

Мы переводим наш 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 для этого).