Как лучше всего скопировать целые базы данных в 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
Выполните резервное копирование баз данных с помощью стандартного средства резервного копирования SQL в Enterprise Manager, затем при восстановлении на втором сервере вы можете указать имя новой базы данных.
Это лучший способ сохранить схему в полном объеме.
Используйте резервные копии для восстановления баз данных на новый сервер с новыми именами.
Redgate SQL Compare и SQL Data Compare. Сравнительный пакет был безусловно лучшей инвестицией, которую я когда-либо делал компанией, в которой я работал. Перемещение контента электронного обучения было на одном дыхании.
Проверьте эти ссылки: