【发布时间】:2018-10-07 00:15:30
【问题描述】:
在执行SSIS 包时,我遇到了SQL Server Agent 的奇怪行为。
我的工作包括许多步骤(主要是 SSIS 包)。有些步骤几乎每天都会失败,即使所有步骤的配置都相同。
我尝试删除/创建作业,删除/创建SQL Server Agent Proxy 但没有成功。
我在失败的步骤和成功的步骤之间找不到任何区别。
这是 SQL Server 代理返回的错误:
由于错误 0xC0011008“从 XML 加载时出错。无法为此问题指定进一步的详细错误信息,因为没有传递事件对象的详细错误信息
SQL Server 版本:2014
SSIS 版本:2014
编辑:
在事件日志中,我从User Profile Service 中找到了一个Information Message,上面写着:
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-XXXXXXXXXX-XXXX\Software\微软\Windows\当前版本
SID 对应于用于执行 SQL 作业步骤的 Proxy User。并且SQL Agent出错时对应的时间戳是一样的。
我认为这是导致步骤失败的原因。
我们能否阻止 Windows 卸载此注册表?
【问题讨论】:
-
您如何尝试执行包,因为您使用的是 SQL Server 2014 我假设您正在使用 SSISDB?
-
包存储在
MSDB,我使用DTEXEC来执行它。 -
您为什么不使用 SSISDB?我相信你遇到的问题不会存在。
标签: sql-server windows-services windows-server-2012 sql-agent-job ssis-2014