夸服务触发器,分布式事物提示错误
触发器代码没问题
本服务器ip 192.168.7.202
建立链接
exec sp_addlinkedserver 'sr2','','SQLOLEDB','172.16.1.3' --这个ip是被链接的服务器地址在本服务器也连的上ping的通
exec sp_addlinkedsrvlogin 'sr2','false',null,'ehr','Wen@kq'
go
本服务器sql2008r2
被连接服务器sql2000 已经打了sp4补丁
触发器代码没有问题执行成功
百度的一下方法都试过
1、关闭双方防火墙
2、启动双方MSDTC服务
3、事务开始前加入set xact_abort ON语句
4、管理工具――组件服务设置允许远程客户端、允许远程管理、允许入站、允许出站、不要求进行验证
5、DTC登陆账户为:NT Authority\NetworkService
6、服务器和名称解析,我这里直接用的ip地址应该不存在这个问题
怀疑:是否是应为不在同一网段?但是能ping通呀,本地服务器也能连上'172.16.1.3'
其他实在找不出问题了
MSDTC工具也试过了
帮忙解决,顶一下吧,大神们
------解决思路----------------------
这个开了吗?
--開啓外部RPC配置,允许其它SQL Server使用RPC远程连接到本SQL Server
EXEC sp_serveroption 'mgfTS','rpc out','TRUE'
(也可在企业管理器中-->数据库-->安全-->链接数据库-->点击你需要配置的链接数据库-->属性页-->
"server options"-->勾选rpc out)
以下是在被訪問端數據庫設置
--設定允許外聯
exec sp_configure 'show advanced options',1 --開啓高級設置
reconfigure WITH OVERRIDE;
exec sp_configure 'Ad Hoc Distributed Queries',1--允許openrowset opendatasource訪問
reconfigure WITH OVERRIDE;
exec sp_configure 'show advanced options',0 --關閉高級設置
reconfigure WITH OVERRIDE;
------解决思路----------------------
对触发器所在表的DML语句,加分布式事务试试,
begin distributed tran
[触发器所在表的DML语句]
commit tran
------解决思路----------------------
建议
1.查看插入的目标表是否有其他的约束? 如foreign key,not null,唯一约束等等.看具体是违反了哪一条.
2.调试时,可以暂时将select A0101,C01TC,A0177 from inserted的值插入一个本地的自定义的表(表上无任何约束的).
这样就能更直观的看到数据本身了.
------解决思路----------------------
曾有个网友说找我付费支持的,没后文了。。注意防火墙
------解决思路----------------------
用DTCPING测试一下两边是否真正联通。
------解决思路----------------------
楼主 问题解决了吗? 我也遇到了
------解决思路----------------------
求赐教 谢谢