Microsoft SQL Server 备份失败,错误为“Microsoft SQL Server 虚拟设备接口 (VDI) 初始化失败”

Microsoft SQL Server 备份失败,错误为“Microsoft SQL Server 虚拟设备接口 (VDI) 初始化失败”

文章: 100034745
上次发布时间: 2018-05-03
评级: 0 1
产品: Backup Exec

问题

Microsoft SQL Server 备份失败,错误为“Microsoft SQL Server 虚拟设备接口 (VDI) 初始化失败”

 

错误消息

备份作业日志显示:

 

最终错误: 0xe000035c - Microsoft SQL Server 虚拟设备接口 (VDI) 初始化失败。  这通常由于不具备所需的 SQL Service Pack 或未安装修补程序所致。  在 Windows Vista 或 Windows Server 2008 上运行 SQLExpress 需要 Service Pack 2 和修补程序 V4 或更高版本。

最终错误类别: 资源出错

有关此错误的其他信息,请参阅链接 V-79-57344-860 

 

 SQL Server 的 Windows 应用程序日志会报告以下其中一个事件:
 事件 ID: 1
 来源: SQLVDI
 说明:
 SQLVDI: Loc=CVDS::CreateEx. Desc=Security initialization failed.ErrorCode=(0). Process=3468. Thread=2556. Client. Instance=.    VD=Global\BPC_SQL_00__7bc4ef5b_1c89_4392_95e5_6b890ac71ec0_.
 

 事件 ID: 1
 来源: SQLVDI
 说明:
 SQLVDI: Loc=ShareProcessHandle. Desc=GetSecurityInfo. ErrorCode=(5)Access is denied. Process=3468. Thread=2556. Client.
或者

 

0xe0008443 -> 一个或多个数据库一致性检查失败。

完成状态: 失败
最终错误: 0xe000035c - Microsoft SQL Server 虚拟设备接口 (VDI) 初始化失败。  这通常由于不具备所需的 SQL Service Pack 或未安装修补程序所致。  在 Windows Vista 或 Windows Server 2008 上运行 SQLExpress 需要 Service Pack 2 和修补程序 V4 或更高版本。
最终错误类别: 资源出错

有关此错误的其他信息,请参阅链接 V-79-57344-860

 

原因

在本地或远程 SQL Agent 备份过程中可能会遇到上述错误消息,即使已确认在出现以下情况后应用了所有必需的 SQL Service Pack 和修补程序也是如此:

A. 文件 sqlvdi.dll 未在 Windows 中正确注册。
B. SQL Server 是域的一部分,且 SQL Server 服务所用的登录凭据采用如下形式:./Administrator。
C. 备份 Windows Server 2008 上运行的 Microsoft SQL Server 2005 时,也可能会出现此错误。
D. 数据库出现一些 DBCC 错误。 

解决方案

根据错误消息,确保 SQL Server 已根据要求应用全部修补程序。 查看 Microsoft SQL 支持站点以查找 SQL Server 的最新更新。 如果此问题仍存在,请参考相关的解决方案:

A:注册 SQLVDI.dll
         
               1. 停止所有 SQL 服务。
               2. 启动 Windows 资源管理器,搜索并记录下每个 sqlvdi.dll 实例的位置。
               3. 单击“开始”,再单击“运行”,在“打开”框中键入 Regsvr32 Path\SQLVDI.DLL,然后单击“确定”。
               4. 重新启动 SQL Server。
注意:  Sqlvdi.dll 文件的默认路径是 C:\Program Files\Microsoft SQL Server\80\COM,但 Sqlvdi.dll 文件也可能位于其他位置或存在多个 Sqlvdi.dll 文件,因此会注册在上述步骤 2 中搜索到的每个文件。
 
B:更改 SQL 服务的登录凭据。  
                1: 将 SQL Server 服务的登录凭据更改为 /Administrator。
         
有关解决 SQL 连接问题的更多信息,请参阅以下 Microsoft 文章:
 
如何解决 SQL Server 2000 中的连接问题
https://support.microsoft.com/default.aspx?scid=kb;zh-cn;827422∏=sql2k
SQL Server 2005 的连接和卷影复制服务 (VSS)
https://support.microsoft.com/kb/919023/zh-cn

在运行 Small Business Server 2003 的计算机上备份失败
https://support.microsoft.com/kb/830575/zh-cn
注意:如果在执行上述步骤后远程 SQL 备份仍然失败并出现同样的错误,请卸载 Backup Exec Remote Agent for Windows Servers (RAWS),重新启动,重新安装 RAWS,然后运行其他备份。
C:在 Windows server 2008 上运行 SQL 2005
       在 SQL Server 上将“SQL Server VSS 写入器服务”的登录帐户更改为使用域管理员帐户。
                 1. 单击“开始”-“运行”
                 2. 键入 services.msc
                 3. 选择“SQL Server VSS 写入器”服务。
                 4. 打开属性并选择“登录”选项卡。 将本地系统的帐户更改为域管理员帐户。
                 5. 在 SQL Server 上重新启动 Backup Exec 服务并尝试备份。

从 Microsoft 下载以下修补程序:

修复: 在 SQL Server 2005 或 SQL Server 2000 中使用虚拟设备接口时可能会记录错误消息和事件
https://support.microsoft.com/kb/934396
D:检查相关数据库有无 DBCC 错误:
1. 检查相关数据库有无 DBCC 错误。 在 SQL Server Management Studio 中运行以下查询:

DBCC CHECKDB (DatabaseName) WITH NO_INFOMSGS, ALL_ERRORMSGS

2. 如果上述查询返回错误,请修复 DBCC 错误。

 

注意:如果所有其他解决方案失败,则可能需要运行系统上安装的最新版本 SQL 的修复安装。

 

 

引用

Etrack : 1 UMI : V-79-57344-860 Etrack : 0xe000035c Etrack : 0xe0008443

此内容是否有用?