Восстановление базы данных SQL Server напрямую из другой базы данных - PullRequest
8 голосов
/ 17 августа 2010

Как я могу восстановить работающую базу данных без предварительного резервного копирования?

Мы можем сделать это из SQL Server Management Studio, но я хочу сделать это с помощью скрипта, который я могу запустить как запланированное задание.

Ответы [ 2 ]

4 голосов
/ 17 августа 2010

Обратите внимание: использование SQL Server Management Studio для восстановления базы данных с параметром «Из базы данных», однако, восстанавливает базу данных из существующей резервной копии.

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

В следующем примере используются оба Резервное копирование и восстановление заявления, чтобы сделать копия AdventureWorks2008R2 база данных. Оператор MOVE вызывает данные и файл журнала для восстановления в указанные места. Оператор RESTORE FILELISTONLY используется определить количество и имена файлы в базе данных являются восстановлены. Новая копия базы данных называется TestDB.

Copy
BACKUP DATABASE AdventureWorks2008R2 
   TO AdventureWorks2008R2Backups ;

RESTORE FILELISTONLY 
   FROM AdventureWorks2008R2Backups ;

RESTORE DATABASE TestDB 
   FROM AdventureWorks2008R2Backups 
   WITH MOVE 'AdventureWorks2008R2_Data' TO 'C:\MySQLServer\testdb.mdf',
   MOVE 'AdventureWorks2008R2_Log' TO 'C:\MySQLServer\testdb.ldf';
GO

Вот пример того, как автоматизировать процесс копирования базы данных - Создать копию существующей базы данных SQL Server

4 голосов
/ 17 августа 2010

Выберите источник восстановления - другую БД.Чтобы сгенерировать скрипт SQL - нажмите кнопку

http://i.stack.imgur.com/q6RLm.png

...