- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于触发器使用链接服务器的问题处理
HYPERLINK /mon.php?action=viewspaceop=upitemid=616303uid=672726 上一篇 / HYPERLINK /mon.php?action=viewspaceop=nextitemid=616303uid=672726 下一篇 ?2009-10-12 10:59:41 / 个人分类: HYPERLINK /672726/spacelist-blog-itemtypeid-75998 实践
HYPERLINK /672726/viewspace-616303 \l xspace-tracks 查看( 273 ) / HYPERLINK /672726/viewspace-616303 \l xspace-itemreply 评论( 0 ) / HYPERLINK /672726/viewspace-616303 \l xspace-itemform 评分( 0 / 0 )
?
一、??问题现象:
在一个test表上创建触发器如下:
ALTERTRIGGER[TR_test_I]
ON [dbo].[test]
AFTERINSERT,UPDATE
AS
BEGIN
IF EXISTS(SELECT*FROMmyTest.test.DBO.testWHEREMM_SNUMB=RTRIM(@MM_SNUMB))
BEGIN
DELETEFROMmyTest.test.DBO.testWHEREMM_SNUMB=RTRIM(@MM_SNUMB)
END
INSERTINTOmyTest.test.DBO.test SELECT*FROMINSERTED
END
当对表test进行UPDATE操作时出现如下错误:[OLE/DB provider returned message:新事务不能登记到指定的事务处理器中。]
OLE DB error trace [OLE/DB Provider SQLOLEDB ITransactionJoin::JoinTransaction returned 0x8004d00a].
消息7391,级别16,状态1,过程TR_test_I,第26行
The operation could not be performed because the OLE DB provider SQLOLEDB was unable to begin a distributed transaction.
二、??解决方案
根据网上查的资料进行了如下操作:
1.??双方启动MSDTC服务MSDTC服务提供分布式事务服务,如果要在 HYPERLINK javascript:; \t _self 数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。
2.??在事务开始前加入set XACT_ABORT ON语句对于大多数OLE DB提供程序(包括 HYPERLINK javascript:; \t _self SQL HYPERLINK javascript:; \t _self Server),必须将隐式或显示事务中的数据修改语句中的XACT_ABORT设置为ON。唯一不需要该选项的情况是在提供程序支持嵌套事务时。
3.??MSDTC设置打开“ HYPERLINK javascript:; \t _self 管理工具――组件服务”,以此打开“组件服务――计算机”,在“我的电脑”上点击右键。在MSDTC选项卡中,点击“安全配置”按钮。在安全配置窗口中做如下设置:
1)??选中“网络DTC访问”
2)??在事务管理通讯中设置时,事务发起服务器选“允许出站“,事务处理服务器选”允许入站”,都选择”不要求进行验证”
3)??选中启用XA事务
4)??保证DTC登陆账户为:NT?? Authority\NetworkService
4.??确定后自动重启MSDTC服务
5.??重新执行对test表的UPDATE操作,执行成功。
三、??进一步 HYPERLINK javascript:; \t _self 实验
上面的方法是通过“SQLOLEDB“,创建链接服务器来进行的。
之后,我有尝试使用ODBC创建链接服务器进行 HYPERLINK javascript:; \t _self 测试时也是经过了一番波折。
1.??创建链接服务器:EXEC sp_addlinkedservermytest,,MSDASQL,test
GOEXECsp_addlinkedsrvlogin myte,false
文档评论(0)