У меня есть резервная копия Database1 от недели назад. Резервное копирование выполняется в планировщике еженедельно, и я получаю .bak
файл. Теперь я хочу поиграть с некоторыми данными, поэтому мне нужно восстановить их в другой базе данных - Database2 .
Я видел этот вопрос: Восстановите базу данных SQL Server на том же компьютере с другим именем, и рекомендуемый шаг - переименовать исходную базу данных , но у меня нет такой возможности, как на рабочем сервере, и я не могу это сделать.
Есть ли какой-нибудь другой способ восстановить его Database2
или, по крайней мере, как просмотреть данные этого файла .bak?
Спасибо.
ps: второй ответ по приведенной выше ссылке выглядел многообещающе, но завершается с ошибкой:
Восстановление списка файлов прекращается ненормально
источник
backkup set holds a backup of a database other than existing "tmp" database
, которая, я понимаю. Должна лиto
фраза быть реальным физическим путемMyTempCopy
?to
местоположение базы данных и журнала для новой базы данных, пример обновления вышеRESTORE DATABASE MyTempCopy FROM DISK='e:\mssql\backup\creditline.bak' WITH REPLACE, RECOVERY, MOVE 'CreditLine' TO 'e:\mssql\MyTempCopy.mdf', MOVE 'CreditLine_log' TO 'e:\mssql\MyTempCopy_log.ldf'
SQL Server 2008 R2:
Для существующей базы данных, которую вы хотите «восстановить: из резервной копии другой базы данных, выполните следующие действия:
источник
Для SQL Server 2012, используя Sql Server Management Studio, я нашел эти шаги со страницы Microsoft полезными для восстановления в другой файл базы данных и имя: (ссылка: http://technet.microsoft.com/en-us/library/ms175510 .aspx )
Обратите внимание, что шаги 4 и 7 важно настроить, чтобы не перезаписывать существующую базу данных.
источник
На самом деле, нет необходимости восстанавливать базу данных в родных терминах SQL Server, так как вы «хотите поиграть с некоторыми данными» и «просмотреть данные этого файла .bak»
Вы можете использовать ApexSQL Restore - инструмент SQL Server, который присоединяет как собственные, так и собственные сжатые резервные копии баз данных SQL и резервные копии журналов транзакций в качестве активных баз данных , доступных через SQL Server Management Studio, Visual Studio или любой другой сторонний инструмент. Позволяет подключать одно или несколько полных, разностных и журналов транзакций
Более того, я думаю, что вы можете выполнять работу, пока инструмент находится в полнофункциональном пробном режиме (14 дней).
Отказ от ответственности: я работаю инженером по поддержке продуктов в ApexSQL
источник
Вот что я собрал вместе из разных постов, чтобы скопировать базу данных, используя резервное копирование и восстановление с перемещением, чтобы исправить физическое местоположение, и дополнительные sql, чтобы исправить логическое имя.
источник
DECLARE @BackupFiles...
линия необходим дополнительный столбец:SnapshotURL nvarchar(360)
На самом деле это немного проще, чем восстановление на том же сервере. По сути, вы просто проходите через опции «Восстановить базу данных». Вот учебник для вас:
http://www.techrepublic.com/blog/window-on-windows/how-do-i-restore-a-sql-server-database-to-a-new-server/454
Тем более, что это непроизводственное восстановление, вы можете чувствовать себя комфортно, просто попробовав его, не слишком заботясь о деталях. Просто поместите ваши файлы SQL, где вы хотите, чтобы они были на вашем новом сервере и дать ему любое имя, которое вы хотите, и вы готовы пойти.
источник
Если базы данных не существует, я использую следующий код:
источник
У меня та же ошибка, что и в этой теме, когда я восстанавливаю новую базу данных, используя старую базу данных. (использование .bak дает ту же ошибку)
Я изменил имя старой базы данных на имя новой базы данных (то же самое на этой картинке). Это сработало.
источник
Вот как восстановить резервную копию в виде дополнительной базы данных с уникальным именем базы данных.
Для SQL 2005 это работает очень быстро. Я уверен, что новые версии будут работать так же.
Во-первых, вам не нужно отключать исходную базу данных. Но ради безопасности мне нравится. В моем примере я собираюсь смонтировать клон моей «биллинговой» базы данных, и он будет называться «billingclone».
1) Сделайте хорошую резервную копию биллинговой базы
2) Из соображений безопасности я взял оригинал в автономном режиме следующим образом:
3) Откройте новое окно запроса
**ВАЖНЫЙ! Держите это окно запроса открытым, пока вы все не сделали! Вам нужно восстановить БД из этого окна!
Теперь введите следующий код:
3) Затем, в Management Studio, нажмите «Базы данных» в «Обозревателе объектов», выберите «Восстановить базу данных».
4) введите новое имя в поле «To Database». IE биллингклон
5) В Source for Restore нажмите «С устройства» и нажмите кнопку навигации ...
6) Нажмите «Добавить» и перейдите к резервной копии.
7) Поставьте галочку рядом с Восстановить (выберите наборы резервных копий для восстановления)
8) затем выберите страницу ОПЦИИ в верхнем левом углу
9) Теперь отредактируйте имена файлов базы данных в RESTORE AS. Сделайте это для базы данных и журнала. IE billingclone.mdf и billingclone_log.ldf
10) Теперь нажмите ОК и дождитесь завершения задачи.
11) Нажмите обновить в вашем обозревателе объектов, и вы увидите ваш новый БД
12) Теперь вы можете вернуть свою платежную базу в онлайн. Используйте то же окно запроса, которое вы использовали для перевода счетов в автономный режим. Используйте эту команду:
сделано!
источник
источник