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

9

如何在没有先备份的情况下恢复一个正在使用的数据库?

我们可以通过SQL Server Management Studio来完成这个操作,但我想用脚本来完成,并且可以作为定期任务运行。

2个回答

6

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

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


1
主要陷阱:这只会从最近的备份中恢复。如果最近的备份相当旧,你将得到旧数据。(对于那些没有阅读其他答案的人) - urbanhusky

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

这里是自动化数据库复制过程的示例 - 创建现有 SQL Server 数据库的副本


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接