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 msdb
GO

SELECT server_name, database_name, backup_start_date, is_snapshot, database_backup_lsn
FROM 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 编写器服务的详细信息,请访问以下 Microsoft 开发人员网络 (MSDN) Web 站点:
http://msdn2.microsoft.com/en-us/library/ms175536.aspx
对于backupset 历史记录表中,有关的详细信息,请访问下面的 MSDNWeb 站点:
http://msdn2.microsoft.com/en-us/library/ms186299.aspx

属性

文章编号: 951288 - 最后修改: 2013年3月28日 - 修订: 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
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 951288
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,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