Существует множество способов перемещения/копирования базы данных с одного сервера на другой с помощью SQL Server Tools.
i) Отсоедините базу данных от старого сервера и прикрепите ее на новом сервере. Это чисто автономная операция, и она перемещает базу данных, а не копирует ее.
См http://msdn.microsoft.com/en-us/library/ms190209.aspx: как использовать присоединять/отсоединять базы данных в SQL Server Management Studio (SSMS)
II) Резервное копирование базы данных в старом сервере и восстановить его на сервере назначения. Это можно выполнить в режиме онлайн и создать новую базу данных на целевом сервере.
Для получения дополнительной информации см. http://msdn.microsoft.com/en-us/library/ms187048.aspx.
iii) Использование мастера копирования базы данных в SQL Server Management Studio.
Выберите базу данных на исходном сервере в SSMS Щелкните правой кнопкой мыши -> Задачи-> Мастер копирования базы данных, чтобы запустить мастер базы данных копирования. Введите учетные данные источника и назначения и выбрать либо присоединять/отсоединять или тип SMO нажмите рядом, и вы можете запланировать или запустить сразу Нажмите кнопку Готово, чтобы выполнить это
См http://msdn.microsoft.com/en-us/library/ms188664.aspx для получения дополнительной информации.
iv) Последний тип - это сгенерировать сценарий создания с использованием Мастера создания скриптов (SSMS) и выполнить его на целевом сервере.
Выберите базу данных на исходном сервере в SSMS Щелкните правой кнопкой мыши -> Задачи-> Сгенерировать скрипты, чтобы запустить мастер. Выберите различные параметры сценариев и выберите объекты, необходимые для создания сценариев для них. Убедитесь, что сценарий data = true в опции сценария также генерирует скрипт для данных (операторы INSERT)
нажмите next -> next и завершите создание сценария (новое окно запроса или клип-плата или файл). подключитесь к целевого сервера и создать в нем новую базу данных. Нажмите новое окно запроса и вставьте скрипт, сгенерированный с помощью GSW выше, и выполните их с контекстом базы данных назначения.
см http://msdn.microsoft.com/en-us/library/ms181421.aspx для получения дополнительной информации
v) Использование Transfer Object в SMO
Пример кода: ScriptingOptions так = новые ScriptingOptions(); so.ScriptData = true; Передача t = новая передача (db); t.CopyAllObjets = true; t.options = so; ................... .................. t.TransferData();
Примечание: класс Transfer доступен в Microsoft.SqlServer.SmoExtendedClass.dll (SQL Server 2008) или Microsoft.SqlServer.Smo.dll (SQL Server 2005)
Существуют различные переменные-члены быть настраиваемым. Также объект класса ScriptingOptions может быть создан и назначен объекту передачи.
set ScriptData = true, чтобы передавать данные также. Он копирует пункт назначения вместо перемещения базы данных
Для получения дополнительной информации см. http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.transfer.aspx.
vi) Вы можете использовать Мастер публикации базы данных, чтобы выполнить это. Вы можете указать целевую версию как SQL 2005 или SQL 2000 и т. Д. Согласно вашему требованию.
Прежде всего - я бы этого не сделал. SQL Server - это ** система на базе сервера **, вы должны оставлять информацию о файлах на SQL Server и просто разговаривать с вашей базой данных с использованием логического имени на своем сервере - не просто копировать файл '.mdf', это грязно. И даже если у вас есть файл '.mdf' в вашей папке« App_Data », на клиентском компьютере все еще должно быть установлено ** SQL Server ** Express **. Просто копирование файла там ** не работает! ** –