首页 > 解决方案 > 错误 0xC0011008 包加载失败

问题描述

SQL Server Agent在执行SSIS包时面临一种奇怪的行为。

我的工作包括许多步骤(主要是 SSIS 包)。有些步骤几乎每天都会失败,即使所有步骤的配置都相同。

我试图删除/创建作业,删除/创建SQL Server Agent Proxy但没有成功。

我找不到失败的步骤和成功的步骤之间的任何区别。

这是 SQL Server 代理返回的错误:

由于错误 0xC0011008 “从 XML 加载时出错。无法为此问题指定更多详细的错误信息,因为没有传递详细错误信息的事件对象

SQL Server 版本:2014

SSIS 版本:2014

编辑 :

在事件日志中,我发现了一个Information MessageUser Profile Service

Windows 检测到您的注册表文件仍在被其他应用程序或服务使用。现在将卸载该文件。保存您的注册表文件的应用程序或服务之后可能无法正常运行

进程 5924 (\Device\HarddiskVolume2\Program Files\Microsoft SQL Server\120\DTS\Binn\DTExec.exe) 已打开密钥 \REGISTRY\USER\SXX-XX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXX\Control Panel\International

进程 5924 (\Device\HarddiskVolume2\Program Files\Microsoft SQL Server\120\DTS\Binn\DTExec.exe) 已打开密钥 \REGISTRY\USER\SXX-XX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXX\Software\Microsoft\Windows \当前版本

SID对应于Proxy User用于执行 SQL 作业的步骤。并且在 SQL Agent 中发生错误时,时间戳对应的是相同的。

我认为这是导致步骤失败的原因。

我们可以阻止 Windows 卸载此注册表吗?

标签: sql-serverwindows-serviceswindows-server-2012sql-agent-jobssis-2014

解决方案


User Profile Service该错误确实是由强制卸载注册表的事实引起的。

对我有用的解决方案是将策略设置Do not forcefully unload the user registry at user logoff从“未配置”更改为“启用” 。

  1. 启动本地组策略编辑器 ( gpedit.msc)

  2. 转到计算机配置>管理模板>系统>用户配置文件

  3. 将“不要在用户注销时强制卸载用户注册表”设置为启用

  4. 运行gpupdate命令。

详细信息可以在这里找到:https: //support.microsoft.com/en-us/help/2287297/a-com-application-may-stop-working-on-windows-server-2008-when-a-user


推荐阅读