我在执行SQL Server Agent
个套餐时遇到SSIS
的奇怪行为。
我的工作包括许多步骤(主要是SSIS包)。有些步骤大多每天都会失败,即使所有步骤的配置都相同。
我尝试删除/创建作业,删除/创建SQL Server Agent Proxy
但没有成功。
我发现失败的步骤和成功的步骤之间没有任何区别。
这是SQL Server代理返回的错误:
由于错误0xC0011008而导致程序包无法加载"从XML加载时出错。不能为此问题指定更详细的错误信息,因为没有传递事件对象的详细错误信息
SQL Server版本:2014
SSIS版本:2014
编辑:
在事件日志中,我发现Information Message
的{{1}}说:
Windows检测到您的注册表文件仍在被其他应用程序或服务使用。该文件现在将被卸载。保存您的注册表文件的应用程序或服务可能无法正常运行
进程5924(\ Device \ HarddiskVolume2 \ Program Files \ Microsoft SQL Server \ 120 \ DTS \ Binn \ DTExec.exe)已打开密钥\ REGISTRY \ USER \ SXX-XX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXX \ Control Panel \国际
进程5924(\ Device \ HarddiskVolume2 \ Program Files \ Microsoft SQL Server \ 120 \ DTS \ Binn \ DTExec.exe)已打开键\ REGISTRY \ USER \ SXX-XX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXXX-XXXX \ Software \微软\的Windows \ CurrentVersion
User Profile Service
对应于用于执行SQL作业步骤的SID
。当SQL代理中发生错误时,时间戳对应是相同的。
我认为这是导致步骤失败的原因。
我们可以阻止Windows卸载此注册表吗?
答案 0 :(得分:0)
错误确实是由User Profile Service
强制卸载注册表引起的。
对我有用的解决方案是从" 未配置"更改策略设置Do not forcefully unload the user registry at user logoff
到已启用。
启动本地组策略编辑器(gpedit.msc
)
转到计算机配置> 管理模板> 系统> 用户个人资料
设置" 不要在用户注销时强制卸载用户注册表"启用
运行gpupdate
命令。