标签: msdtc

MSDTC 跟踪中的“tid”是什么?

我正在寻找有关 dtc 跟踪文件内容的一些文档。有些列是可以理解的,例如“pid”可能是进程 ID。但什么是“潮”。猜测会让我找到事务 ID 或线程 ID。

这个问题的原因是,在大多数情况下,一个事务的所有日志行的 tid 都是相同的,但在一些情况下,tid 不同,并且在同时发生的两个事务之间混合。在这些情况下,看起来我最终会在 SQL Server 中得到一个孤立的事务,

在我得出任何结论之前,我需要知道什么是 tid。

com+ msdtc

5
推荐指数
1
解决办法
292
查看次数

SQL Server 链接服务器:“无法在此会话上启动更多事务。”

我正在尝试INSERT对链接服务器执行操作:

DBCC TRACEON (3604, 7300)

BEGIN TRANSACTION

INSERT INTO LIVE.Contoso.dbo.Events (EventGUID, EventDate, LoginGUID, UserGUID, EventType, Notes, TargetGUID) 
VALUES ('{494D023F-CD5A-11E2-9F18-C86000D0B92A}', getdate(), '{3B4F90C0-CD5A-11E2-9F18-C86000D0B92A}', '{494D023D-CD5A-11E2-9F18-C86000D0B92A}', 1, N'Test notes', '{494D023E-CD5A-11E2-9F18-C86000D0B92A}')

ROLLBACK TRANSACTION
Run Code Online (Sandbox Code Playgroud)

它返回错误:

链接服务器“LIVE”的 OLE DB 访问接口“SQLNCLI”返回消息“无法在此会话上启动更多事务。”。
消息 7395,级别 16,状态 2,第 3 行
无法为链接服务器“LIVE”的 OLE DB 提供程序“SQLNCLI”启动嵌套事务。需要嵌套事务,因为 XACT_ABORT 选项设置为 OFF。

这个本地数据库从 2000 年(查询有效)移动到 2005 年(查询无效)。远程服务器是 2008 R2。

你尝试过什么?

两年前我问过的这个问题的详尽清单。

你是如何创建链接服务器的?

--EXEC master.dbo.sp_dropserver @server = N'LIVE'
EXEC master.dbo.sp_addlinkedserver @server = N'LIVE', @srvproduct=N'', @provider=N'SQLOLEDB', @datasrc=N'vader'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'LIVE', @locallogin = NULL, …
Run Code Online (Sandbox Code Playgroud)

msdtc sql-server sql-server-2005 sql-server-2008-r2

4
推荐指数
1
解决办法
2万
查看次数