你目前正处于脱机状态,正在等待 Internet 重新连接

错误: 事务日志备份可能的 LDF 自动重建后

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

点击这里察看该文章的英文版: 257855
本文已归档。它按“原样”提供,并且不再更新。
错误 #: 57670 (sqlbug_70)
症状
如果日志数据文件 (LDF) 的数据库 (例如如果文件已重命名或删除) 的 SQL Server 启动过程中不可用,SQL Server 7.0 有时会尝试重建 LDF 文件自动以确保数据库可用性。

丢失了原始的 LDF 文件中信息是此进程会中断一个现有的事务日志备份序列。新的完整数据库备份需要执行事务日志备份上启动一个新的序列。

但是,SQL Server 允许您在这一次执行一个明显具有有效的事务日志备份不警告您备份序列已中断。

如果您执行此类进行无效的备份和稍后尝试将此事务日志还原,它失败,出现以下消息:
服务器: 消息 3155,级别 16,1,状态行 1
RESTORE 操作无法继续操作,因为已添加或自创建备份集之后从数据库中删除一个或多个文件。

服务器: 消息 3013,级别 16,1,状态行 1
备份或还原操作异常终止。
替代方法
要变通解决此问题,请执行以下任一操作:
  • 请确保 LDF 文件未被删除或重命名。

    -或者-
  • 执行完整数据库备份以重新开始事务日志备份序列。
状态
Microsoft 已经确认这是 SQL Server 7.0 中的问题。
更多信息

重现问题的步骤

  1. 使用以下语句来创建数据库、 插入数据,并开始备份系列:
    create database testgouse testgocreate table t (c int)goinsert into t values (1)gobackup database test to disk='c:\test_dump.bak' WITH INITgoinsert into t values (2)gobackup log test to disk='c:\test_dump.bak' WITH NOINITgoinsert into t values (3)gouse master
  2. 让 SQL Server 在启动时创建数据库的新的 LDF 文件使用以下步骤:
    1. 使用户不连接到数据库。
    2. 停止 SQL Server 服务。
    3. 重命名 test_log.ldf 文件。
    4. 启动 SQL Server 服务。
  3. 检查下面的一种 SQL Server 错误日志,以确认已创建一个新的 LDF 文件中的条目,请执行以下操作:
    文件 c:\MSSQL7\data\test_log.LDF 不存在-无法激活。
    尝试重建主日志文件数据库测试。
    ...
    构建新日志文件 f:\MSSQL7\data\test_log.LDF。
  4. 若要继续备份链中使用以下语句:
    use testgoinsert into t values (4)gobackup log test to disk='c:\test_dump.bak' WITH NOINITgo


  5. 使用以下语句来试图还原备份到一个新的数据库,名为 testrestore:
    RESTORE DATABASE testrestore   FROM disk='c:\test_dump.bak'   WITH NORECOVERY,    MOVE 'test' TO 'c:\testrestore.mdf',    MOVE 'test_log' TO 'c:\testrestore.ldf'RESTORE LOG testrestore   FROM disk='c:\test_dump.bak'   WITH NORECOVERY,FILE = 2RESTORE LOG testrestore   FROM disk='c:\test_dump.bak'   WITH FILE = 3, RECOVERY
此位置,您收到以下错误消息:
服务器: 消息 3155,级别 16,1,状态行 1
RESTORE 操作无法继续操作,因为已添加或自创建备份集之后从数据库中删除一个或多个文件。

服务器: 消息 3013,级别 16,1,状态行 1
备份或还原操作异常终止。
错误日志

警告:本文已自动翻译

属性

文章 ID:257855 - 上次审阅时间:10/20/2013 18:29:50 - 修订版本: 1.2

Microsoft SQL Server 7.0 标准版

  • kbnosurvey kbarchive kbmt kbbug kbpending KB257855 KbMtzh
反馈