Назад | Перейти на главную страницу

Восстановить из базы данных вместо файла

При поиске в ServerFault ситуаций, похожих на мою, я не могу найти ни одной.

У нас есть «обучение» и живая база данных для приложения. «Учебная» база данных используется для разработки и экспериментов. Я часто делаю резервную копию действующей базы данных в bak-файл, а затем восстанавливаю эту базу данных в «обучающую» базу данных, чтобы обновить данные. (В этом нет проблем, так как это рекомендовано производителем.) Могу ли я устранить этот шаг, восстановив действующую базу данных в «обучающую» базу данных?

Восстановить из Live http://dl.dropbox.com/u/2732434/CopyDatabase_hide.png

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

Дополнительные сведения для краткого ответа - если вы посмотрите синтаксис команды T-SQL BACKUP DATABASE, вы увидите следующее:

backup_device = {{имя_логического_устройства | @logical_device_name_var} | {ДИСК | TAPE} = {'имя_ физического_устройства' | @physical_device_name_var}}

Этим устройством резервного копирования может быть одно из двух: ДИСК (файл) или ЛЕНТА. Вариантов резервного копирования в другую базу данных не существует.