2014-01-07 6 views
0

Первоначально я создал свою базу данных с помощью SQL Server Management Studio на своей локальной машине.Как переместить базу данных SQL Server в другую?

Теперь я хочу скопировать его в свой App_Data в папку своего веб-сайта, и таким образом я надеюсь свободно перемещать свой веб-сайт, тем временем перемещая мою базу данных, содержащуюся в моем App_Data, на другую машину.

Какие шаги следует придерживаться?

Я использую SQL Server 2008 Express.

+0

Прежде всего - я бы этого не сделал. SQL Server - это ** система на базе сервера **, вы должны оставлять информацию о файлах на SQL Server и просто разговаривать с вашей базой данных с использованием логического имени на своем сервере - не просто копировать файл '.mdf', это грязно. И даже если у вас есть файл '.mdf' в вашей папке« App_Data », на клиентском компьютере все еще должно быть установлено ** SQL Server ** Express **. Просто копирование файла там ** не работает! ** –

ответ

0

Существует много способов передачи текущей базы данных.

  1. Использование резервного копирования. refer microsoft
  2. Использование репликации.

Отсоединение и подключение не является правильным способом, поскольку есть вероятность потери данных.

+0

Да, я просто сомневаюсь, что репликация будет содержать все данные. Использование резервного копирования кажется недоступным, поскольку я буду использовать его в VS, а не в SSMS. – Telerik

+0

Спасибо, и я работаю как вы отправили. – Telerik

+0

@ Телерик приветствует, хорошо провести день –

0

Существует множество способов перемещения/копирования базы данных с одного сервера на другой с помощью 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 и т. Д. Согласно вашему требованию.

+0

Большое спасибо за ваш ответ. – Telerik

Смежные вопросы