Кажется, я помню, что в 2008 году вы могли восстановить резервную копию в новую копию БД, изменив имя в поле «База данных назначения» из мастера восстановления. Это создаст совершенно новую БД, которая является копией исходной БД, восстановленной до того момента времени, который вы хотели. Я до сих пор не понял, как заставить SQL 2012 сделать это.
Теперь я понимаю (благодаря Аарону Бертрану), что это не изменилось, и что 2012 год на самом деле делает для меня еще более очевидным, что эта стратегия была плохой идеей!
Итак, мне нужно сделать следующее: создать новую БД «MyDB_Copy» из существующей БД «MyDB», используя ее файлы резервных копий. У нас есть ночные полные резервные копии (.bak) и каждые 15 минут TLogs (.trn). Я не хочу, чтобы существующий «MyDB» был затронут / затронут вообще, потому что он «живой».
После создания MyDB_Copy из основного файла полной резервной копии мне нужно восстановить несколько десятков резервных копий TLog, чтобы получить его в определенный момент времени.
Ответы:
Основываясь на примере E в документации , откройте новое окно запроса и выполните:
Логические имена не важны; физические имена файлов. Это делает предположения о ваших логических именах файлов и о том, что их всего два; бежать,
EXEC MyDB..sp_helpfile;
чтобы быть уверенным.Если вам нужно восстановить логи, то измените
RECOVERY
наNORECOVERY
:Тогда вы можете выпустить серию:
И на самом последнем:
Или, если вам нужна только часть журнала до определенного момента времени (я полагаю, вы проверили, где находятся номера LSN и время, чтобы точно знать, какие файлы вам нужны):
То, как вы сказали, работало в предыдущих версиях, никогда бы не сработало, если бы резервное копирование происходило с другого сервера. По умолчанию он пытается поместить новые файлы mdf и ldf в одно и то же место, а это невозможно.
источник
Все, что вам нужно сделать, чтобы восстановить одну и ту же базу данных несколько раз, это изменить имя файлов на диске для этой базы данных. Очевидно, вам нужно присвоить базе данных другое имя для любой другой базы данных в SQL Server. В SSMS после того, как вы выбрали файл .bak для восстановления и ввели имя для базы данных, вы нажимаете «Файлы» в разделе «Выберите страницу» слева и просто меняете имя файлов на диске.
Ура Дуг
источник