由于 SQL Server VSS 编写器,Windows Server 备份可能会失败

09/08/2020

本文内容

本文提供了一个解决方案,解决了 Microsoft Windows Server 备份失败的问题,并出现错误:卷影复制服务操作失败。

原始产品版本:   Windows Server 2012 R2,Windows Server 2016

原始 KB 数:   2615182

症状

服务器的备份可能会失败,并出现以下错误消息:

卷影复制服务操作失败。 详细错误:卷影复制操作失败,出现错误0x800423F4。 有关详细信息,请查看事件日志。

将在应用程序事件日志中记录以下错误消息:

日志名称:应用程序

源: Microsoft-Windows-备份

事件 ID:521

级别:错误

说明:

在 "9/1/2011 5:29:01 PM" 启动的备份失败,因为卷影复制操作对备份卷失败,并出现以下错误代码 "2155348129"。 请在解决问题后重新运行备份。

如果您查看应用程序事件日志,您会注意到源 SQLWriter 和 SQLVDI 中的许多错误。

这些错误将类似于以下内容:

日志名称:应用程序源: SQLWRITER

事件 ID:24583

级别:错误

说明:

Sqllib 错误:调用 ICommandText:: Execute 时遇到 OLEDB 错误。 hr = 0x80040e14。 SQLSTATE:42000,本机错误:3013

错误状态:1,严重性:16

源: Microsoft SQL Server Native Client 10。0

错误消息: BACKUP DATABASE 异常终止。

SQLSTATE:42000,本机错误:3271

错误状态:1,严重性:16

源: Microsoft SQL Server Native Client 10。0

错误消息:由于线程退出或应用程序请求,文件 "{DF1DD65F-F8AD-4946-A764-F62166C541E2} 22: ' (995" 上发生了不可恢复的 i/o 错误。 ) 的 i/o 操作已中止。。

日志名称:应用程序

源: SQLVDI

事件 ID: 1

级别:错误

关键字:经典

用户: N/A

计算机: CONTOSOSERVER

说明:

SQLVDI: Loc = TriggerAbort。 Desc = 已调用。 ErrorCode = (0) 。 Process = 3720。 Thread = 9404。 服务器主板. 实例 = SBSMonitoring。 VD = Global { DF1DD65F-F8AD-4946-A764-F62166C541E2} 10_SQLVDIMemoryName_0。

原因

当 Windows Server 备份尝试备份磁盘卷时,将为该卷创建卷影复制快照。 创建快照时,将调用任何与卷相关联的卷影复制服务 (VSS) 编写器。 如果任何 VSS 写入程序遇到错误,整个备份作业将失败。 在此示例中,SQL VSS 编写器遇到错误,并导致备份作业失败。

解决方案

此错误通常是由某个 SQL Server 实例的问题导致的。 若要解决此问题,必须首先确定哪个 SQL Server 实例有问题。 通常,有问题的 SQL Server 实例将在第一个记录的 SQLVDI 错误中进行命名。

例如:

日志名称:应用程序

源: SQLVDI

事件 ID: 1

级别:错误

说明:

SQLVDI: Loc = SignalAbort。 Desc = Client 启动 abort。 ErrorCode = (0) 。 Process = 4772。 Thread = 10300。 客户端. 实例 = SBSMONITORING。 VD = Global { 3AB8F080-950C-4EF9-B637-0F37B2428F17} 1_SQLVDIMemoryName_0。

在此示例中,名为 SBSMONITORING 的 SQL Server 实例将导致快照失败。

源 SQLWRITER 中还可能存在与第一个 SQLVDI 错误同时发生的错误消息。 SQLWRITER 错误消息可能会标识快照存在问题的数据库名称。

例如:

日志名称:应用程序

源: SQLWRITER

事件 ID:24583

说明:

Sqllib 错误:调用 ICommandText:: Execute 时遇到 OLEDB 错误。 hr = 0x80040e14。 SQLSTATE:42000,本机错误:3013

错误状态:1,严重性:16

源: Microsoft SQL Server Native Client 10。0

错误消息: BACKUP DATABASE 异常终止。

SQLSTATE:42000,本机错误:945

错误状态:2、严重级别:14

源: Microsoft SQL Server Native Client 10。0

错误消息:由于文件不可访问或内存或磁盘空间不足,无法打开数据库 "SBSMonitoring"。 有关详细信息,请参阅 SQL Server 错误日志。

在此示例中,名为 SBSMonitoring 的数据库存在问题。

确定出现问题的 SQL Server 实例后,第一步是使用已停止的 SQL Server 实例测试备份。 在 SBSMonitoring 实例的示例中,您将停止服务器上的 SQL Server (SBSMonitoring) 服务 。

然后,在受影响的 SQL Server 实例停止时运行备份作业。 如果备份完成,则您知道故障是由未运行的 SQL Server 实例引起的。 然后,您将检查 SQL Server 错误日志文件和事件日志,以查看是否可以确定该特定 SQL Server 实例的错误。

如果无法从事件日志中确定有问题的 SQL Server 实例,则可以始终停止服务器上的所有 SQL Server 实例,并尝试使用 SQL 停止运行备份。 如果停止了所有 SQL Server 实例,则不会使用 SQL VSS 编写器。

在小型企业服务器2008的默认安装中,您将停止以下服务:

SQL Server (SBSMonitoring)

Windows 内部数据库

在默认安装的小型企业服务器2011标准版中,您将停止以下服务:

(SharePoint) 的 SQL Server

SQL Server (SBSMonitoring)

Windows 内部数据库

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐