(8)通过提高STOPAT参数值来还原事务日志
我们执行RESTORE LOG命令,通过一分钟 – 从10:42:44.00到 10:43:44.00来增加STOPAT参数值。
RESTORE LOG Northwind_recover
FROM DISK = N'D:\DBBackup\NorthwindBackupLog.trn'
WITH STANDBY = N'D:\DBBackup\Northwind_UNDO.bak',
STATS = 10, STOPAT = '2008-09-23 10:43:44.00'
GO
这是它重复的部分。不要因为它确实繁琐而感到烦恼。你可以通过1分钟,5分钟,10分钟和记录这些时间来增加这个值。记住在执行RESTORE LOG命令之后在删除的对象上运行一个测试查询。我建议在这个活动上创建一张表,这张表看起来像这样:
TIMEOBJECT EXISTED?
10:43:44.00YES
10:48:44.00YES
10:58:44.00YES
11:03:44.00NO
有了这个信息,你就可以很肯定地知道这张表在10:58:44.00与 11:03:44.00之间被删除。你可以重复步骤8,并且因为你已经在一个更小的时间间隔内操作,你可以在一分钟甚至一秒内增加STOPAT参数值,如果你觉得自己过度关注STOPAT参数的时间值,那么请返回带有你在步骤八中记录的列表信息的步骤七,使恢复过程更快进行。你只需要记住在上次的 RESTORE LOG语句中使用WITH RECOVERY选项,例如:
RESTORE LOG Northwind_recover
FROM DISK = N'D:\DBBackup\NorthwindBackupLog.trn'
WITH STATS = 10, STOPAT = '2008-09-23 11:01:44.00', RECOVERY
GO
一旦你设法把数据库恢复到执行DROP TABLE命令之前,你就可以在生产数据库上所做的还原和恢复所做的作一个比较。你可以用很多种方式实现这一点。由于我们已经有一个之前创建好的数据库快照,所以我们也用它来做灾难恢复。先前关于SQL Server 2005 tablediff命令行工具的方法可以让你可以了解如何使用这个工具但是只强调你的源数据库将是你恢复的那个数据库,并且目的数据库将是你的数据库快照。这是为什么你的数据库快照被证实是很重要的,尤其是如果你处理不只是一个平常的对象。如果你不习惯用命令行工具,那么可以参考一个由来自 SQLTeam.com的成员创建的GUI版本。你可能也想确定这些并且把它放在你的DBA工具栏中。
文章来源于领测软件测试网 https://www.ltesting.net/