问题标签 [msdtc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3355 浏览

vpn - MSDTC 通信通过 VPN 失败

我有一个应用程序在同一台服务器上运行跨越多个数据库的事务。当然,这涉及到 Microsoft 分布式事务协调器,并且一切都按预期进行。

但是,当我通过 VPN 远程连接到托管服务器的网络并在本地计算机上运行应用程序时,我收到以下错误:

System.Transactions.TransactionManagerCommunicationException:“与底层事务管理器的通信失败。”

原因:

System.Runtime.InteropServices.COMException: 错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。

这是原始异常的堆栈跟踪:

在 System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel&isolationLevel, ITransactionShim& transactionShim)
在 System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)

只有当我通过 VPN 隧道连接到服务器时才会出现问题。
另请注意,我在本地计算机上暂时禁用了 Windows 防火墙,以确保它不会阻止 MSDTC。

有人知道通过 VPN 运行 MSDTC 时有什么问题吗?

0 投票
1 回答
2006 浏览

.net - 单个事务下具有相同连接字符串的多个连接,提升事务?

当使用 ado.net 并在单个事务中创建到 MS SQL Server 数据库的多个连接时(使用 System.Transactions.TransactionScope),System.Transactions 是否将事务从轻量级事务管理器提升到分布式事务协调器(内核事务协调器在 Vista 上),即使所有连接对象的连接字符串都相同?

该文档在这种特定情况下有些模棱两可。它说如果在事务期间打开另一个连接到服务器,则事务将被提升,但它没有说它是否一直这样做,或者只有在连接字符串不同时才这样做。如果连接字符串相同,它会提升事务对我来说没有意义,但如果确实如此,它基本上使轻量级事务管理器完全无用,IMO。

0 投票
2 回答
2145 浏览

c# - Read MSDTC configuration

Does anyone have any ideas on how to read the MSDTC configuration on the current machine? I am specifically trying to check that the user has performed the following steps:

  1. Open Component Management (Start > All Programs > Administrative Tools > Component Services)

  2. Double-click on Component Services, then expand Computers. Right-click on My Computer and select Properties

  3. On the MSDTC tab, click the Security Configuration button, and configure the properties as follows:

  4. Network DTC Access: Checked

  5. Allow Remote Clients: Checked

  6. Allow Inbound: Checked

  7. Allow Outbound: Checked

  8. Incoming Caller Authentication Required: Selected

It's part of a small component I need to write to validate end-user configuration. I don't think I would attempt to fix it if it were wrong: just point the user at the help file - so only read only is needed.

0 投票
5 回答
1599 浏览

transactions - 交易范围

事务范围如何工作?它如何知道何时已经使用了另一个上下文以及我如何在我的代码中实现另一种范围。

我主要是 vb.net 开发人员,但如果你写的话,我可以阅读 c#。

如果上述内容过于模糊:

我了解 system.transactions 的作用以及如何使用它。我想知道的是如何创建类似的东西,我自己的库,我可以包装一些可以以与 system.transactions 范围相同的方式处理它的代码。我计划将它与缓存模型一起使用,它将大大增强它。我正在寻找有关事务范围如何知道的详细信息,例如存在父范围,因此它可以附加到它等等,或者提交需要在更高级别或更高联系人中进行。

例如,如果我有以下

Scope1 不会提交,因此 scope2 或 scope3 也不会提交,因为它们的父级都是 scope1 的上下文。我希望能够使用我自己的库进行设置。

0 投票
5 回答
18706 浏览

sql - 使用 MSDTC 的链接服务器错误

我正在展示一个通过 Internet 在两个系统之间使用“链接服务器”进行数据事务的存储过程示例

当我运行存储过程时,我在不同的执行时间得到不同的错误

有时会显示此错误

另一次显示此类错误

我在客户端使用 Windows Xp 和 SQL Server 2005,在 Net Server 中使用 Windows Server 2003 和 Sql server 2005

我在两个系统中都设置了 MSDTC

我该如何解决这个问题(并提供正确的信息以在 Windows XP 和 Windows server 2003 中设置 MSDTC)

0 投票
2 回答
1738 浏览

sql-server - Msdtc 交易

我正在使用链接服务器进行交易
示例

这是发生的错误:
Microsoft 分布式事务协调器 (MS DTC) 已取消分布式事务。

0 投票
2 回答
4876 浏览

trace - 跟踪交易升级到 DTC 的原因

有什么方法可以准确地确定 System.Transaction TrasactionScope 升级到 DTC 的原因?我们的一个组件似乎升级了事务,而所有其他组件(看起来很相似)都没有升级,我们遇到了一个问题。

是否提供了有关升级原因以及如何找到和观察这些原因的任何信息?SQL 探查器?日志文件?还是我在这方面不走运?

更新:我正在针对 SQL Server 2005 运行以获取信息

0 投票
2 回答
23710 浏览

firewall - MSDTC - 需要多少端口

我有一个使用 MSDTC 的相当大的应用程序。我应该打开多少端口?有什么方法可以确定吗?

编辑:我知道我需要打开哪些端口,我不知道我需要多少

0 投票
1 回答
4191 浏览

ssis - 在 DTC 事务中登记 SSIS 包的间歇性失败

我们的软件包随机失败,并显示以下错误消息:

SSIS 错误代码DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x8004D00A。COM 错误对象信息可用。源:“[某些包名称]”错误代码:0x8004D00A 描述:“SSIS 运行时未能在分布式事务中登记 OLE DB 连接,错误为 0x8004D00A“无法登记在事务中。”

这不会一直发生,并且重新运行包通常会成功,所以我不认为这是 DTC 或网络配置问题。无论我们是在 Studio 中还是通过 SQL 代理作业运行包,都会发生这种情况。在后一种情况下,包在它尝试连接的同一个 SQL Server 实例上运行。

我们可以从日志中看到事务是在正确的时间点开始的——但是几秒钟后,我们得到了失败。

在这一点上感激地收到任何建议!

SQL Server 详细信息:在 Server 2003 64 位企业版 (3790) 上运行的 64 位企业版 (v9.0.3233)。这些服务器运行 E5345 Xeons,具有 6GB 的 RAM。

0 投票
2 回答
31926 浏览

msdtc - MSDTC(分布式事务协调器)服务意外停止

我正在使用 Windows Server 2008,MSDTC(分布式事务协调器)服务意外停止,我无法再次重新启动它。

当我转到事件查看器时,这是我收到的错误消息:“MS DTC 组件中发生严重错误,因此进程正在终止。类别字段标识遇到错误的组件。请联系 Microsoft 产品支持。错误说明:hr = 0x80070002, d:\rtm\com\complus\dtc\dtc\msdtc\src\cservice.cpp:473, CmdLine: C:\Windows\System32\msdtc.exe, Pid: 4504"

有人知道如何重新启动该服务吗?

非常感谢您的帮助;塞尔吉奥