Cam*_*llo 11 sql-server msdtc distributed-transactions
我正在尝试从我的计算机(SQL Server 2012)到客户端服务器(SQL Server 2008)运行分布式事务。
我正在尝试运行:
begin distributed transaction
select * from [172.01.01.01].master.dbo.sysprocesses
Commit Transaction
Run Code Online (Sandbox Code Playgroud)
我得到:
OLE DB provider "SQLNCLI11" for linked server "172.01.01.01" returned message "No transaction is active.".
Msg 7391, Level 16, State 2, Line 2
The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "172.01.01.01" was unable to begin a distributed transaction.
Run Code Online (Sandbox Code Playgroud)
我可以在服务器返回数据的情况下对它运行SELECT,因此至少我知道服务器可以互相看见,并且链接服务器存在并且正在运行
现在,网络上有很多与此相关的帖子,但我无法使其正常运行。到目前为止,这是我尝试过的操作:1.将DTC属性设置为以下内容(在两台服务器上)
从控制面板->服务(在两台服务器上)重新启动分布式事务处理协调器(MSDTC)。
卸载和安装的DTC(在两台服务器上)。
重新启动远程服务器。
关闭两台服务器上的防火墙。
在两个服务器上都启用了sp_configure'Ad Hoc Distributed Queries',1。
我运行了DTCPing,并成功ping通。
链接服务器的属性更改为以下内容:
还有什么可以尝试的?
更新:从另一台服务器到172.01.01.01运行事务。因此,问题不在目标服务器上,而是在源机器上。
小智 11
我遇到了类似的问题,并按以下步骤解决。SQL Server中的对象资源管理器树结构中有一个节点。在那里您会找到Serverobjects?LinkedServers?下面是分布式服务器的IP地址列表。
右键单击它,选择属性,将弹出一个窗口。在左窗格中选择服务器选项;您将获得属性列表。将标志值false设置为属性“启用促进分布式事务”。
如果根据 OP 的原始帖子在两个 SQL 服务器上配置了 MS 分布式事务协调器 (MSDTC) 后,您仍然“没有活动的事务”,您应该检查每个主机是否可以通过 IP 访问(假设这是您的使用)在链接服务器中注册。
例如; 在最近的设置中,可以通过 192.168.200.x 范围内的网络(同一子网)访问两个 SQL 服务器,但每台服务器也通过 10.xxx 范围内的 IP 间接连接。在一台 SQL Server 上,它使用的 DNS 服务器一直将目标 SQL Server 解析为它的 10.xxx IP(防火墙),即使链接服务器条目使用目标服务器的 192.168.200.x 中的 IP。
似乎 MSDTC 使用服务器的主机名,而 SQL Server 使用链接服务器条目中定义的 IP 或主机名通过任何链接连接进行连接,导致在 SQL Management Studio 中检查目标链接服务器时出现这种明显连接的混淆行为,但无法在目标上执行远程过程。
解决方案是在主机文件 (%windir%\system32\drivers\etc\hosts) 中添加条目以明确强制每个 SQL 服务器将另一个解析为 192.168.200.x 网络上的 IP 地址。
在主机 1(IP 192.168.200.15)上:
# TARGET SERVER
192.168.200.20 targetserverhostname.and.any.domain.suffix targetserverhostname
Run Code Online (Sandbox Code Playgroud)
在主机 2 上(IP 192.168.200.20)
# SOURCE SERVER
192.168.200.15 sourceserverhostname.and.any.domain.suffix sourceserverhostname
Run Code Online (Sandbox Code Playgroud)
不要忘记确保已根据上面 OP 的屏幕截图配置了 MSDTC,以允许网络访问和(如果需要)无身份验证。
归档时间: |
|
查看次数: |
49080 次 |
最近记录: |