INF:旁路(紧急)模式和 DUMP TRANSACTION WITH NO_LOG

文章翻译 文章翻译
文章编号: 165918 - 查看本文应用于的产品
展开全部 | 关闭全部

概要

在极少情况下,由于启动时的恢复故障,数据库可能会标记为可疑。正常情况下,这会阻止任何人访问数据。不过,可以手动将可疑数据库的状态设置为“旁路模式”(又称“紧急模式”),选择或者使用大容量复制程序 (BCP) 向外复制数据。虽然您无法在旁路模式下进行任何常规的数据修改,但可以运行 DUMP TRANSACTION WITH NO_LOG。请注意,不支持在旁路模式下执行此操作,此操作可能具有危险性。

由于类似的原因,如果启动恢复花了很长时间,您不应将其中止,而应将数据库设置为旁路模式,然后执行 DUMP TRANSACTION WITH NO_LOG。

更多信息

通常会记录 DUMP TRANSACTION 执行的所有操作,因此该事务是可恢复、可中止的。然而,日志空间将供 DUMP 命令本身使用。如果事务日志已经满了,没有足够的空间来执行要进行日志记录的 DUMP TRANSACTION,则 WITH NO_LOG 选项可以截断事务日志,不进行任何记录。

DUMP TRANSACTION WITH NO_LOG 在正常情况下相对安全。服务器采取了措施,可确保即使服务器在此操作期间失败,恢复仍会成功。

在极少情况下,自动恢复(又称作启动恢复)可能会失败,将数据库标记为可疑。由于特定原因,恢复失败。必须记下最初导致恢复失败的错误日志消息,因为它可能有助于诊断原因。

“恢复”是一个使数据库保持一致的过程,操作方法是:重做或撤消上一个检查点之后启动或者在上一个检查点时未提交的所有事务。此过程依赖于事务日志的预写入特性(所有修改的页都先写入到日志中,然后再写入到数据库中)。恢复包括读取每条日志记录,将其时间戳与对应的数据库页的时间戳进行比较,然后撤消更改(如果是未提交的事务)或者重做更改(如果是提交的事务)。 记下了导致恢复失败的错误日志消息之后,请尝试将数据库状态设置回正常,并重新启动 SQL Server 以确定第二次是否能成功恢复。您可以通过 sp_resetstatus 存储过程更改数据库状态。这是一个补充存储过程,可以通过 Mssql\Install 目录中的 Instsupl.sql 脚本安装它。有关更多信息,请参见联机文档中的“重设可疑状态”。

如果恢复仍然失败,请记下错误消息并与您的主要支持提供商联系。您还应该验证上一次正确数据库备份的可用性,因为可能需要它。不过,虽然在事务上和物理上不一致,但数据库中的大多数数据通常仍然是可用的。可以通过将数据库状态设置为旁路或紧急模式来访问这些数据。方法如下:打开“allow updates”后,如果是 SQL 6.5 数据库,则将 sysdatabases.status 设置为 -32768,如果是 SQL 7.0 数据库,则将 sysdatabases.status 设置为 32768。例如,对 SQL 6.5 数据库使用以下命令:
   UPDATE SYSDATABASES SET STATUS=-32768 WHERE NAME='DBNAME'
				

执行了此操作后,您可以进入数据库,选择数据或者使用 BCP 将数据取出来。进行此操作时可能会遇到错误,但大多数情况下都可以检索到大量数据。

属性

文章编号: 165918 - 最后修改: 2006年12月8日 - 修订: 3.1
这篇文章中的信息适用于:
  • Microsoft SQL Server 4.21a 标准版
  • Microsoft SQL Server 6.0 标准版
  • Microsoft SQL Server 6.5 标准版
关键字:?
kbinfo kbusage KB165918
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com