从另一个DB直接还原SQL Server数据库

时间:2010-08-17 08:32:53

标签: sql sql-server tsql database-restore

如何在不先备份的情况下恢复实时数据库?

我们可以从SQL Server Management Studio执行此操作,但我想使用脚本执行此操作,我可以将其作为预定作业运行。

2 个答案:

答案 0 :(得分:4)

选择还原源 - 另一个数据库。要生成SQL脚本 - 按下按钮

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

答案 1 :(得分:4)

请注意:但是,使用SQL Server Management Studio通过“从数据库”选项还原数据库,可以从现有备份中恢复数据库。

也许您需要复制数据库。在这种情况下,您应该使用备份/恢复组合,如:

  

以下示例同时使用   要做的BACKUP和RESTORE语句   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

这里是如何自动化数据库复制过程的示例 - Create a copy of an existing SQL Server database