Копирование базы данных SQL Server 500 ГБ из производственной в экземпляр Dev

12

Нам нужно скопировать 500 ГБ базы данных с нашего сервера PRODUCTION на сервер DEV. У нас есть только окно 5 часов.

Какой самый быстрый способ достичь этого?


источник
7
1. Что вы подразумеваете под «окном 5 часов»? Производство будет остановлено на 5 часов? 2. Вам нужна абсолютная последняя версия производственной базы данных, или будет достаточно последней резервной копии? 3. В каком режиме восстановления находится ваша производственная база данных?
Ник Чаммас

Ответы:

15

Вы можете сделать два варианта, которые не вызовут простоев в вашей производственной среде:

1) Если вы хотите получить только структуру базы данных (вам не нужны данные), вы можете просто написать сценарий производственной базы данных. Затем просто запустите это на своем dev-сервере, чтобы создать базу данных.

2) Если вам нужна база данных и данные, просто возьмите последнюю резервную копию этой базы данных и восстановите ее на своем сервере разработки. Вы обнаружите, что это наиболее распространенный метод, используемый для обеспечения соответствия серверов разработки производственным данным.


источник
9

Если у вас есть

  • сжатие резервной копии включено?
  • быстрая сеть сервер-сервер (точка входа 1 ГБ)

... затем просто скопируйте его, восстановите. Это может быть написано в PowerShell, Perl, CMD.exe и т. Д.

Когда вы говорите «окно», я предполагаю, что вы имеете в виду 5-часовое окно на производство. Это не может быть настолько критично для загрузки разработки.

ГБН
источник
5

Скопируйте на локально прикрепленный жесткий диск.

Почему только ограниченное окно? Dont copy - загрузить резервную копию в dev.

TomTom
источник
Согласовано. Нет необходимости отсоединять (требуя простоя), действительно, при восстановлении резервной копии будет достаточно.
p.campbell
2
Я подпишу копию резервной копии. Нет необходимости снимать вашу производственную базу данных, чтобы скопировать ее куда угодно. Если вам нужен конкретный момент времени, либо сделайте резервную копию copy_only (SQL 2005+), либо скопируйте некоторые резервные копии журнала транзакций.
Бен Тул
2

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

Надеюсь это поможет

Darkwookiee
источник
0

Создайте файл последовательности резервного копирования. Допустим, весь ваш размер резервной копии составляет 500 ГБ; Вы можете разделить его по необходимости, создать резервную копию из 10 последовательностей, состоящую из 10 файлов резервных копий, каждый размером 50 ГБ, а затем попытаться восстановить или переместить файлы резервных копий по одному. Это уменьшит сетевой трафик и время восстановления.

Субир Санкар Дас
источник
3
Привет Subir и добро пожаловать в DBA.SE. Я отредактировал ваш ответ, чтобы улучшить его ясность и удалить подпись внизу в соответствии с нашими рекомендациями . Спасибо за ваш ответ.
Ник Чаммас
Я не вижу, как разделение файла на 10 отдельных файлов будет влиять на время, необходимое для передачи этих файлов по сети.
Макс Вернон