如何在不首先进行备份的情况下恢复活动数据库?从另一个数据库直接还原SQL Server数据库
我们可以从SQL Server Management Studio中做到这一点,但我想用脚本来做到这一点,我可以将它作为计划任务运行。
如何在不首先进行备份的情况下恢复活动数据库?从另一个数据库直接还原SQL Server数据库
我们可以从SQL Server Management Studio中做到这一点,但我想用脚本来做到这一点,我可以将它作为计划任务运行。
选择恢复源 - 另一个数据库。要生成SQL脚本 - 按下按钮
请注意:恢复数据库“从数据库”选项使用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
下面的例子中如何自动DATABSE复制过程 - Create a copy of an existing SQL Server database
主要缺陷:这只能从上次备份恢复。如果最后一次备份时间过长,则最终会导致旧数据。 (对于没有阅读其他答案的每个人) – urbanhusky 2014-04-30 06:41:31