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

SQL Server backupset 历史记录表中记录备份操作时使用 VSS 进行备份的卷上的文件

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

951288
症状
产生错误的场景如下:您可以在卷上安装 Microsoft SQL Server。您可以使用卷影复制服务 (VSS) 应用程序备份卷上的文件。在这种情况下,SQL Server 记录的 backupset 历史记录表中的备份操作。即使您没有实际备份的 SQL Server 数据库文件,将出现此问题。

注意NTBackup.exe 实用程序VSS 的应用程序。
原因
发生此问题是因为 VSS 调用SQLWriter 服务或 Microsoft SQL Server 桌面引擎 (MSDE) 编写器。
状态
Microsoft已经确认这是所列出的 Microsoft 产品中的问题在"适用于"部分中。
更多信息

MSDE 编写器和 SQLWriter 服务的说明

MSDE 编写器包括在 Windows XP 中的 VSS 框架和在 Windows Server 2003。VSS 使用 MSDE 编写器来备份SQL Server 2000年数据库。SQLWriter 服务在安装 SQL Server 2005 时安装。VSS 使用 SQLWriter 服务同时备份SQL Server 2005 数据库和 SQL Server 2000数据库。

VSS 备份操作的执行方式

当 VSS 执行备份操作的卷上时,会调用 VSS有数据在卷的所有编写器。这将确保在备份的进行有效。当 VSS 调用 SQLWriter 服务或 MSDE 编写器,SQLWriter 服务或 MSDE 编写器将记录插入到 backupset历史记录表。这备份操作已录制节目执行。但是,SQLWriter 服务或 MSDE 编写器不能确定无论是 VSS 备份的文件数据库文件。

预防措施如果条目 backupset 历史记录表中的数据恢复使用

如果您想要使用 backupset 历史记录表中的项数据恢复,您必须验证条目表示实际的数据库备份操作。

如何验证一个条目表示实际的数据库备份操作

若要执行此操作,请运行下面的语句:
USE msdbGOSELECT server_name, database_name, backup_start_date, is_snapshot, database_backup_lsnFROM backupset
在结果中,请注意 database_backup_lsn 列,is_snapshot 列。一个条目,表示实际的数据库备份操作具有以下特征:
  • Database_backup_lsn 列的值不是0。
  • Is_snapshot 列的值为 0。

验证备份集已无错误

若要执行此操作,请运行下面的语句:

WITH backupInfo AS( SELECT database_name AS [DatabaseName], name AS [BackupName], is_damaged AS [BackupStatus],backup_start_date AS [backupDate],ROW_NUMBER() OVER(PARTITION BY database_name ORDER BY backup_start_date DESC) AS BackupIDForDB FROM msdb..backupset) SELECT DatabaseName FROM backupinfo WHERE BackupIDForDB = 1 and BackupStatus=1 

如果此查询将返回任何结果,则意味着您没有良好的数据库备份报告日期之后。我们强烈建议您
尽可能快地执行完整数据库备份,并验证完整数据库备份干净。

Is_damaged 属性
Msdb 数据库中的 backupset 表包含每个备份集的行。Backupset 表中的is_damaged属性指示创建备份时是否检测到损坏数据库。因此,备份可能已损坏并且不可恢复。

规则软件规则标题规则说明对其计算规则的产品版本
系统中心顾问SQL Server 数据库 Backupset 标记为损坏在此 SQL Server 实例顾问检测到存在一个或多个 backupset 标记为"损坏",在 MSDB 数据库中。这意味着备份文件已损坏,实质上是数据库公开和有可能非可还原备份。查看收集信息部分,并确保后续的完好备份是适用于有问题的数据库。知识库文章,有关更多详细信息,请参阅。SQL Server 2008
SQL Server 2008 R2
SQL Server 2012


SQL VSS 编写器 msdb ntbackup
参考
有关 SQL 编写器服务的详细信息,请访问以下 Microsoft 开发人员网络 (MSDN) Web 站点: 对于backupset 历史记录表中,有关的详细信息,请访问下面的 MSDNWeb 站点:

警告: 本文已自动翻译

属性

文章 ID:951288 - 上次审阅时间:03/28/2013 19:18:00 - 修订版本: 1.0

  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • kbexpertiseadvanced kbtshoot kbprb kbmt KB951288 KbMtzh
反馈