SQL Server 2005灾难恢复步骤(一)
2008-10-24 10:07:16 来源:WEB开发网 RESTOREDATABASENorthwind
FROMDISK=N'D:DBBackupNorthwindBackup.bak'
WITHNORECOVERY,RESTRICTED_USER
GO
RESTORELOGNorthwind
FROMDISK=N'D:DBBackupNorthwindBackupLog.trn'
WITHRESTRICTED_USER,
STOPAT='2008-09-2310:42:44.00',RECOVERY
--usea"knowngood"pointintime
GO
虽然我们已经把数据库恢复到一个已知的良好时间点,但是我们并没有知道我们实际上到底失去了多少数据。我们需要找出在执行DROP TABLE语句之前执行最后的一个INSERT语句的准确时间,这样我们才能恢复尽可能多的数据。但是由于我们需要尽可能快地使数据库联机,所以我们不想在数据库上直接做这些。这正证明了接下来的步骤是有价值的。
你可以通过执行一个针对它的查询来验证删除的表是否已经恢复。
SELECT*
FROMNorthwind.dbo.[OrderDetails]
GO
5) 创建一个恢复点的快照
我们将创建一个还原数据库的数据库快照,以此来做进一步的处理。这个数据库快照将是把数据恢复到执行DROP TABLE语句之前的准确时间的参考。
USEmaster
GO
CREATEDATABASENorthwind_RestorePointSnapshot
ON
(NAME=N'Northwind',
FILENAME=N'D:DBBackupNorthwindData_RestorePontSnapshot.snap')
ASSNAPSHOTOF[Northwind]
GO
依靠这个表模式,我们可以选择让它保持原状,或者像我们对Order Details 表所做的那样,或者多做一些操作。如果这张表有一个现有IDENTITY栏,我们需要在IDENTITY栏的最大值和需要恢复的行的假设数量之间创建一个间隙。这当然取决于在服务器上发生的事务数目。要确定IDENTITY栏的最大值,你可以执行如下显示的DBCC CHECKIDENT命令:
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接