如何启用校验和选项,如果备份实用程序不公开选项

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 2656988
概要
¡ ° SQL 备份和还原命令提供了校验和和 NO_CHECKSUM 错误管理选项。如果您使用的备份应用程序或实用程序不公开这些选项,您可以通过使用跟踪标志 3023 Microsoft SQL Server 的实例上启用校验和选项。如果启用了跟踪标志 3023,备份命令为自动启用校验和选项。您可以打开跟踪标志 3023,以确保所有的备份使用校验和备份选项。如果执行此操作,您不必重写所有现有的备份脚本。

更多信息
您可能要使用实用程序 (如 SQL Server 时,使用跟踪标志 3023 SQL Server 维护计划从日志传送或备份数据库任务。这些实用程序和相关联的 TSQL 存储过程不提供一个选项,以包括在备份过程中的校验和选项。

当您使用在备份操作中的校验和选项时,将启用以下进程:
  • 使用校验和保护上次写入该数据库有 PAGE_VERIFY 选项设置校验和的数据库页的页校验和验证。这样可确保备份的数据处于良好状态。
  • 生成备份备份流写入备份文件的校验和。在还原操作中,这样可确保备份媒体本身的文件复制或传输过程中未损坏。

如果页面校验和校验失败,在备份操作过程中,SQL Server 停止备份操作,并报告以下错误:
消息 3043,级别 16,状态 1,第 1 行
备份替换检测到文件 database_file 中的页 (file_id:page_number) 上发生错误。
消息 3013,级别 16,状态 1,第 1 行
备份数据库正在异常终止。

在备份命令中使用显式 NO_CHECKSUM 选项时,跟踪标志 3023 行为将被覆盖。要确定是否帮助校验和保护的备份集,请使用以下值之一:
  • 恢复 HEADERONLY 命令的输出中的 HasBackupChecksums 标志
  • Msdb 数据库中的 backupset 系统表中的 has_backup_checksums 列

使用校验和选项执行备份时,如果还原操作自动执行验证,然后通过使用与以下内容类似的错误消息中报告的问题:
消息 3183,级别 16,状态 1,第 1 行
还原检测到错误页 (1:243) 上的数据库"corruption_errors_test"作为读取备份集。
消息 3013,级别 16,状态 1,第 1 行
还原数据库正在异常终止。
可以通过使用 DBCC TRACEON 语句动态地使用跟踪标记 3023。或者,可以使用跟踪标志 3023 将启动参数。

动态的使用情况

DBCC TRACEON(3023,-1)

备份数据库 …

DBCC TRACEOFF(3023,-1)

有关 DBCC TRACEON 的详细信息,请访问以下 Microsoft 开发人员网络 (MSDN) 的网站:

启动参数用法

SQL Server (将启动参数中添加跟踪标记-T3023),然后停止并重新启动 SQL Server 服务。

有关启动选项的详细信息,请访问下面的 MSDN 网站:
有关跟踪标记的详细信息,请访问下面的 MSDN 网站:
此信息适用于以下版本的 SQL Server:
  • SQL 2005 Server
  • SQL Server 2008
  • SQL Server2008 R2
  • SQL Server 2012
有关备份实用程序的详细信息,请访问下面的 MSDN 网站:

警告:本文已自动翻译

属性

文章 ID:2656988 - 上次审阅时间:02/08/2012 13:46:00 - 修订版本: 1.0

Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 R2 Enterprise

  • kbmt KB2656988 KbMtzh
反馈