Как лучше всего скопировать целые базы данных в MS SQL Server?

Мне нужно скопировать около 40 баз данных с одного сервера на другой. Новые базы данных должны иметь новые имена, но все те же таблицы, данные и индексы, что и в исходных базах данных. До сих пор я был:

1) создание каждой целевой базы данных
2) использование команды " Задачи-> Экспорт данных" для создания и заполнения таблиц для каждой базы данных в отдельности.
3) перестроение всех индексов для каждой базы данных с помощью сценария SQL

Только три шага на базу данных, но я держу пари, что есть более простой способ. Есть ли какие-нибудь эксперты по MS SQL Server?

11 ответов

Решение

Учитывая, что вы выполняете это для нескольких баз данных - вам нужно простое решение на основе сценариев, а не решение типа "укажи и щелкни".

Это резервный скрипт, который я храню. Получите его работу для одного файла, а затем измените его для многих.

(on source server...)
BACKUP DATABASE Northwind
  TO DISK = 'c:\Northwind.bak'

(target server...)
RESTORE FILELISTONLY
  FROM DISK = 'c:\Northwind.bak'

(look at the device names... and determine where you want the mdf and
ldf files to go on this target server)

RESTORE DATABASE TestDB
  FROM DISK = 'c:\Northwind.bak'
  WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
  MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
GO

Возможно, самое простое - это отсоединить / прикрепить. Щелкните правой кнопкой мыши в диспетчере серверов на БД, задачи -> отключить. Затем скопируйте файлы MDF/LDF на новый сервер, а затем снова подключите, щелкнув значок сервера и задачи -> присоединить. Он попросит у вас файл MDF - убедитесь, что имя и т. Д. Являются точными.

Уже есть лучшие ответы, но это тоже "пробежка", потому что это просто еще один вариант.

Для низкой низкой цены вы можете обратиться к мастеру публикации баз данных Microsoft SQL Server. Этот инструмент позволяет вам написать схему, данные или данные и схему. Плюс это можно запустить из пользовательского интерфейса или командной строки <- думаю, процесс CI.

В порядке легкости

  • Остановить сервер /fcopy/attach, вероятно, проще всего.
  • резервное копирование / восстановление - может быть сделано отключено довольно просто и легко
  • Передача задачи DTS - нужны разрешения на копирование файла
  • тиражирование - самое простое от простого к установке

Что нужно подумать о разрешениях, пользователях и группах на конечном сервере ESP. если вы переносите или восстанавливаете.

Если вы используете решение для резервного копирования и восстановления, у вас, скорее всего, будут осиротевшие пользователи, поэтому обязательно ознакомьтесь с этой статьей о том, как их исправить.

Резервное копирование -> Восстановление является самым простым, если не использовать репликацию.

Еще один способ проверить это быстро и просто:

Простой SQL BULK Copy

http://projects.c3o.com/files/3/plugins/entry11.aspx

Выполните резервное копирование баз данных с помощью стандартного средства резервного копирования SQL в Enterprise Manager, затем при восстановлении на втором сервере вы можете указать имя новой базы данных.

Это лучший способ сохранить схему в полном объеме.

Используйте резервные копии для восстановления баз данных на новый сервер с новыми именами.

Redgate SQL Compare и SQL Data Compare. Сравнительный пакет был безусловно лучшей инвестицией, которую я когда-либо делал компанией, в которой я работал. Перемещение контента электронного обучения было на одном дыхании.

Другие вопросы по тегам