在创建一个SSIS包的SQL Server 2008我碰到下面的错误:
错误:SSIS运行时未能启动由于错误0x8004D01B分布式事务“事务管理器不可用”。 DTC事务无法启动。 因为MSDTC服务没有运行可能发生这种情况。
我在创建和我的机器上本地运行的方案,但数据库的服务器上,运行Windows Server 2008,这是不是在域。
我已确保DTC服务的本地和服务器上启动两个,我也补充说,在Windows Vista防火墙中预定义的防火墙例外。
为什么SSIS运行时无法启动分布式事务?
我有同样的问题,但是,MS DTC不是我的机器上运行。 要打开事务处理协调器我不得不做以下几点:
要启动MS DTC
- 要打开服务,在开始菜单上,单击控制面板。
- 在控制面板,单击管理工具。
- 在管理工具,单击服务。 在详细信息窗格中,单击
Distributed Transaction Coordinator
服务的列表。 - 在操作菜单上,单击开始。
检查我解决这个问题就在这里[ http://faiz.kera.la/2009/08/26/ssis-transaction-enabled-tasks-fail-due-to-msdtc ]
这是一个常见的场景,如果你的机器是不是在一个域或运行Windows XP。
编辑:链接已经死了。 从链接原文似乎是:
在我目前的项目,我们有多个团队开发SSIS,我们所有的人都在我的系统共享数据库服务器实例。 昨天,我们面临着一个问题,当一个队友试图实现SSIS交易。 虽然它是光滑的在我的系统数据库所在运行在其他机器上的包失败。 抛出该错误信息是:
在SSIS运行时未能争取在分布式事务错误0x8004D00E“该交易已经或隐式地提交或中止”的OLE DB连接
很快我们就意识到,这是关系到微软分布式事务处理协调器(MSDTC)的东西。 我们做了一些搜索,并得到了所谓的“Dtcping.exe”工具,它会为您在不同的机器上MSDTC进程的健康状况。 该工具报告错误“拒绝访问”,暗示一些安全性问题在MSDTC。 但我们并没有幸运,甚至一对夫妇的谷歌搜索小时后。 于是我决定精益生产MSDTC的安全设置,我发现所有与网络相关的连接默认情况下禁用。 我了解到,身份验证设置可能会导致麻烦的,因为我们的机器都运行Windows XP,并为他们在工作组(我们有一个在我组织一个奇怪的网络配置)。 我改成“不要求进行验证”为MSDTC实例中的所有计算机和它的工作! 要更改安全配置MSDTC,进入控制面板>>管理工具>>组件服务>>计算机>>右击我的电脑,然后单击属性>>点击MSDTC选项卡>>点击安全配置。 下面是我使用的设置的屏幕截图,但我不知道它可以对securiy的影响,我不建议这种配置的所有情况。
错误:SSIS运行时未能启动由于错误0x8004D01B分布式事务“事务管理器不可用”。 DTC事务无法启动。 因为MSDTC服务没有运行可能发生这种情况。