У меня есть две машины: A и B. В моей машине A у меня есть SQL-сервер с некоторой базой данных. Мне нужно скопировать базу данных с Machine A на B без каких-либо резервных копий. Пожалуйста, помогите мне.
Как скопировать базу данных SQL Server с одного сервера на другой без каких-либо резервных копий
Ответ 1
Функцию "Копировать базу данных" можно использовать в SQL Server Management Studio.
Щелкните правой кнопкой мыши базу данных, выберите "Задачи", "Копировать базу данных". Если вы можете отключить базу данных в автономном режиме, вы также можете отключить ее, скопировать файлы на новый сервер и затем повторно привязать базу данных после.
См. также документацию Microsoft: http://technet.microsoft.com/en-us/library/ms188664.aspx
Ответ 2
Вот еще один метод, который вы можете использовать, только если у вас есть прямой доступ к обеим машинам.
В исходной машине:
1. Открытая Sql Server Management Studio (SSMS)
2. Щелкните правой кнопкой мыши по базе данных, которую вы хотите скопировать
3. Перейти к свойствам
4. Выбор файлов в меню левой руки
5. Прокрутите вправо. В большинстве столбцов вы найдете имя файла и путь к файлу базы данных (обратите внимание на этот путь и имя файла всех записей в списке)
6. Закройте окно свойств
7. Снова щелкните правой кнопкой мыши по базе данных
8. Нажмите" Отсоединить "
9. Перейти к пути, который вы отметили на шаге 5
10. Скопируйте все файлы, которые вы отметили на шаге 5
11. Вставьте его в папку в Target macine
12. Снова перейдите в SSMS и щелкните правой кнопкой мыши по папке базы данных
13. Нажмите" Прикрепить "
14. Нажмите "Добавить" и укажите путь к файлу .mdf, который вы отметили на шаге 5
На целевой машине
1. Перейти к SSMS и правой кнопкой мыши по папке базы данных
2. Нажмите" Прикрепить "
3. Нажмите "Добавить" и укажите путь к файлу .mdf, который вы скопировали с исходного компьютера на целевую машину.
РЕДАКТИРОВАТЬ
Вы можете создать связанный сервер (см. http://msdn.microsoft.com/en-us/library/aa213778%28SQL.80%29.aspx) и использовать кросс-серверный запрос для вставки данных в целевую базу данных, например,
Select * Into Servername.DatabaseName.SchemaName.TableName From SourceSchemaName.Tablename
вам не нужно выполнять это для каждого объекта, вы можете использовать курсоры для этого для всех объектов, присутствующих в вашей базе данных.
Ответ 3
Просто использовал бесплатный инструмент из http://dbcopytool.codeplex.com/, чтобы скопировать живую базу данных с SQL 2005 на SQL 2012. После ввода всей информации в 2-я закладка, 1-я закладка может быть настроена, и все это без проблем.