科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何使用事务日志恢复SQL Server数据库

如何使用事务日志恢复SQL Server数据库

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

事务日志备份保留上次事务日志备份后发生的所有事务的痕迹;它还允许你把数据库恢复到数据库发生错误之前的一个时间点。

作者:开发者在线 来源:开发者在线 2007年7月31日

关键字: SQL Server

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

事务日志备份

事务日志备份保留上次事务日志备份后发生的所有事务的痕迹;它还允许你把数据库恢复到数据库发生错误之前的一个时间点。事务日志备份按顺序发生,从而建立一个备份链。在把一连串事务日志备份恢复到一个时间点时,事务日志文件也必须按顺序恢复。

当你使用一个数据库维护计划来建立事务日志备份时,事务日志文件名中往往包含一个时间指示器。下面的脚本使用NORECOVERY选项应用三个事务日志备份,最后一个语句把数据库恢复到最后一个事务日志文件的结束点。

RESTORE LOG NewDatabase

FROM DISK = ''D: \BackupFiles\TestDatabase_TransactionLogBackup1.trn'

WITH NORECOVERY

RESTORE LOG NewDatabase

FROM DISK = ''D: \BackupFiles\ TestDatabase_TransactionLogBackup2.trn'

WITH NORECOVERY

RESTORE LOG NewDatabase

FROM DISK = ''D: \BackupFiles\ TestDatabase_TransactionLogBackup3.trn'

WITH NORECOVERY

RESTORE LOG NewDatabase

FROM DISK = ''D: \BackupFiles\ TestDatabase_TransactionLogBackup4.trn'

WITH RECOVERY

恢复到一个时间点

在上面的例子中,你把数据库恢复到最后一个事务日志的结束点。如果你想把数据库恢复到事务日志结束前的某个特定的时间点,你必须使用STOPAT选项。下面的脚本把日志序列中的第四个事务日志恢复到4:01 AM——正好在数据库出错之前。

RESTORE LOG NewDatabase

FROM DISK = ''D: \BackupFiles\ TestDatabase_TransactionLogBackup4.trn'

WITH STOPAT = N'6/28/2007 4:01:45 PM', RECOVERY

既然你已经把数据库恢复到一个你指定的时间点上,现在该是决定如何帮助开发者,使他们的工作更加轻松的时候了。我建议把开发者需要的表复制到服务器上的一个单独的表中,以便于你或他们更正数据错误。

做好准备

将数据库恢复到某个时间点是你最不希望做的事情之一,但如有必要,你必须能够完成恢复过程。我概括说明了如何使用事务日志在某种情况下恢复SQL Server数据库的过程。必须注意,公司备份数据的方法各不相同,因此彻底了解你们公司的数据库备份过程极其重要。一定要记得经常对恢复和恢复情形进行测试,以便在灾难确实发生时,你已经做好应对准备。

Tim Chapman是肯塔基州路易维尔市一家银行的SQL Server数据库管理员,他有超过7年的IT行业经验。他还通过了微软SQL Server 2000和SQL Server 2005的认证。

责任编辑:德东

查看本文国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章