Восстановить из базы данных вместо файла
В поиске ServerFault для ситуаций, похожих на мою, я не могу найти одну.
У нас есть "обучение" и живая база данных для приложения. База данных "обучение" используется для разработки и экспериментов. Я часто делаю резервную копию действующей базы данных в bak-файл, а затем восстанавливаю эту базу данных в "тренировочную" базу данных для обновления данных. (В этом нет проблем, так как это рекомендовано поставщиком.) Могу ли я устранить этот шаг, восстановив из действующей базы данных базу данных "обучения"?
1 ответ
Краткий ответ - нет. Вы можете сделать что-то с T-SQL, чтобы автоматизировать это для вас, или вы могли бы сделать что-то с репликацией или зеркалированием, чтобы удовлетворить требования. Это все хорошие варианты, но вы не сможете получить их за один раз с помощью резервных копий. Вы также можете написать сценарий резервного копирования / filecopy / restore, что упростит процесс - до тех пор, пока по вашей основной жалобе не будет доступно место на диске для вашего файла BAK или время, необходимое для его передачи.
Дополнительная информация для краткого ответа - если вы посмотрите синтаксис команды BACKUP DATABASE T-SQL, вы увидите это:
backup_device = {{логическое_устройство_имя | @logical_device_name_var } | {ДИСК | TAPE } = { 'имя_физического_устройства' | @physical_device_name_var } }
Это устройство резервного копирования может быть одним из двух: DISK (файл) или TAPE. Не существует опции для резервного копирования в другую базу данных.