• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试开发技术SQL Server 2005灾难恢复方法和步骤

发布: 2009-10-21 09:53 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 70次 | 进入软件测试论坛讨论

领测软件测试网

这将很有效地使数据库脱机,停止所有活动的连接。这是分秒必争的时刻,我们需要采取行动。当进行到下面的步骤时,请牢记你的RPO和RTO。

  (3) 备份事务日志

  一个好的数据库管理员应该知道当灾难来临时,首先要做的是备份事务日志 – 假设你的数据库被设置成全数据库备份。这是为了确保在上次备份之后你还保存所有活动的事务。在我们的场景中,由于上次的备份 – 全备份,在这个例子中 – 发生于早上6:00。

BACKUP LOG Northwind
  TO DISK = N'D:\DBBackup\NorthwindBackupLog.trn'
  WITH NAME = N'Transaction Log Backup'
  , DESCRIPTION = 'Getting everything to current point in time.',
  STATS = 10
  GO

  (4)还原数据库到一个已知的良好时间点
  
  现在,任何用户意外地删除一张表或者在数据库上造成一些破坏后都不会立即告诉你。有时候,你可能需要自己深入挖掘它,但是这需要花很多时间。由于我们想让数据库尽快地联机,所以我们假设一个众所周知的良好时间点,并且让发掘在稍后的时间里进行。在下面的脚本中,我将选择在我的STOPAT参数中将早上 10:42设置成已知的良好时间点,一次达到展示的目的。

RESTORE DATABASE Northwind
  FROM DISK = N'D:\DBBackup\NorthwindBackup.bak'
  WITH NORECOVERY, RESTRICTED_USER
  GO
  RESTORE LOG Northwind
  FROM DISK = N'D:\DBBackup\NorthwindBackupLog.trn'
  WITH RESTRICTED_USER,
  STOPAT = '2008-09-23 10:42:44.00', RECOVERY
  -- use a "known good" point in time
  GO

  虽然我们已经把数据库恢复到一个已知的良好时间点,但是我们并没有知道我们实际上到底失去了多少数据。我们需要找出在执行DROP TABLE语句之前执行最后的一个INSERT语句的准确时间,这样我们才能恢复尽可能多的数据。但是由于我们需要尽可能快地使数据库联机,所以我们不想在数据库上直接做这些。这正证明了接下来的步骤是有价值的。

  你可以通过执行一个针对它的查询来验证删除的表是否已经恢复。

SELECT *
  FROM Northwind.dbo.[Order Details]
  GO

   (5)创建一个恢复点的快照

  我们将创建一个还原数据库的数据库快照,以此来做进一步的处理。这个数据库快照将是把数据恢复到执行DROP TABLE语句之前的准确时间的参考。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

62/6<123456>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网