如何在数据库损坏时备份事务日志 (Transact-SQL)

本主题说明当数据库损坏时如何备份事务日志。

创建当前活动的事务日志的备份

  • 要备份的事务日志所属的数据库的名称。

  • 事务日志备份将写入的备份设备。

  • NO_TRUNCATE 子句。

    只要事务日志文件是可访问的并且没有损坏,那么即使数据库不可访问,该子句也允许备份事务日志的活动部分。

指定(可选):

  • INIT 子句,用于覆盖备份媒体,并将备份作为备份媒体上的第一个文件写入。如果没有现有的媒体标头,则会自动编写一个。
  • SKIP 和 INIT 子句,用于覆盖备份媒体,即使备份媒体上存在尚未过期的备份,或媒体名称与备份媒体上的名称不匹配,也会覆盖备份媒体。
  • FORMAT 子句,通过它可以在首次使用媒体时对备份媒体进行初始化,并重写任何现有的媒体标头。
    如果已经指定了 FORMAT 子句,则不需要指定 INIT 子句。
    ms189606.note(zh-cn,SQL.90).gif重要提示:
    使用 BACKUP 语句的 FORMAT 或 INIT 子句时要格外谨慎,因为稍有不慎便会破坏先前存储在备份媒体上的任何备份。

示例

ms189606.note(zh-cn,SQL.90).gif重要提示:
MyAdvWorks_FullRM 数据库是 AdventureWorks 的一个副本,它使用简单恢复模式。若要允许日志备份,请在完整备份数据库之前使用 ALTER DATABASE MyAdvWorks_FullRM SET RECOVERY FULL 将数据库设置为使用完整恢复模式。

以下示例将备份 MyAdvWorks_FullRM 数据库的当前活动事务日志,即使 MyAdvWorks_FullRM 已损坏且不可访问。但事务日志必须未损坏且可访问:

BACKUP LOG MyAdvWorks_FullRM
   TO MyAdvWorks_FullRM_log1
   WITH NO_TRUNCATE
GO

请参阅

概念

优化 SQL Server 中的备份和还原性能
完整文件备份

其他资源

BACKUP (Transact-SQL)
SQL Server Management Studio 教程

帮助和信息

获取 SQL Server 2005 帮助