在为SQL Server 2008创建SSIS包时,我遇到以下错误:
错误:SSIS运行时失败 启动分布式事务到期 错误0x8004D01B“交易 经理不在。“。DTC 交易未能启动。这个 可能因为MSDTC服务而发生 没有跑。
我正在我的机器上本地创建和运行软件包,但数据库位于服务器上,运行Windows Server 2008,域中不。
我已确保DTC服务在本地和服务器上启动,并且我添加了在Windows Vista防火墙中预定义的防火墙例外。
为什么SSIS运行时无法启动分布式事务?
答案 0 :(得分:6)
我遇到了同样的问题,但是我的机器上没有运行MS DTC。要启用事务协调器,我必须执行以下操作:
启动MS DTC
Distributed Transaction Coordinator
。 答案 1 :(得分:5)
在此处[http://faiz.kera.la/2009/08/26/ssis-transaction-enabled-tasks-fail-due-to-msdtc]
检查我的解决方案如果您的计算机不在域中或运行Windows XP,则这是常见的情况。
编辑:链接已死。链接中的原始文本似乎是:
在我目前的项目中,我们团队中有多个SSIS开发人员,我们都在系统中共享数据库服务器实例。我们昨天遇到了一个问题,当时一个队友试图在SSIS中实施交易。虽然它在我的数据库所在的系统中运行顺畅,但程序包在其他计算机中失败。抛出的错误信息是,
SSIS运行时无法在a中登记OLE DB连接 分布式事务,错误0x8004D00E“事务有 已被隐式或明确地提交或中止“
很快我们意识到这与微软分布式事务协调器(MsDTC)有关。我们做了一些搜索,得到了一个名为“Dtcping.exe”的工具,它将检查不同机器中MsDTC进程的健康状态。该工具报告了一个错误“访问被拒绝”,暗示了MsDTC中的一些安全问题。但即使经过几个小时的谷歌搜索,我们也没有幸运。然后我决定使用MsDTC的安全设置,我发现默认情况下禁用所有与网络相关的连接。我了解到,身份验证设置可能会导致问题,因为我们的计算机运行的是Windows XP,而且它们位于工作组中(我们的组织中有一个奇怪的网络配置)。我在所有机器中为MsDTC实例更改为“无需身份验证”,并且它有效!要更改MsDTC的安全配置,请转到控制面板>>管理工具>>组件服务>>电脑>>右键单击“我的电脑”,然后单击“属性”>>点击MSDTC标签>>单击安全配置。下面是我使用的设置的屏幕截图,但我不建议所有情况下的此配置,因为我不知道它可能对securiy产生的影响。
答案 2 :(得分:-3)
错误:由于错误0x8004D01B" SSIS运行时未能启动分布式事务;事务管理器不可用。"。 DTC交易无法启动。这可能是因为MSDTC服务未运行。