我已经完成了类似问题的答案: Distributed Transaction on Linked Server between sql server and mysql
但是,他们似乎并没有为我工作,因此我要求提供一个新帖子的解决方案。
后台:我的MySQL服务器完全由供应商管理,我只有READ访问权限。另一方面,我在我们的域中的Windows Server 2012 R2上运行SQL Server 2014实例(Caller)。以前的DBA设置了名为“BEQUICK”的链接服务器来调用存储过程: 执行usp_ExtractBqDataAndPreprocess 13
此存储过程从MySQL实例获取聚合数据并将其保存到我们的磁盘。在此存储过程中运行3个存储过程。 执行BEQUICK_CUBE_Customers_post_pull 执行BEQUICK_CUBE_Customers_Update 执行BEQUICK_CUBE_Inventory_Update
问题:今天当我尝试运行它时,它向我提示错误,指出无法执行操作,因为链接服务器“bequick”的OLE DB提供程序“MSDASQL”无法开始分布式事务。
采取的措施:步骤1:访问的链接服务器属性>服务器选项,将其更改为:
步骤2:访问本地DTC属性,并继续尝试所有组合以某种方式使其工作。最后,将其保留为:
Step3:我进入Windows防火墙并确保: {{3}}
这些都无法解决我的问题,现在我不知道下一步是什么,所以任何帮助都将受到高度赞赏。如果我没有提供任何我应该提供的内在信息,请告诉我。
答案 0 :(得分:0)
虽然我在这里没有得到解决方案,但我终于发现这是我的驱动程序属性,其中出现了问题。发布这个答案,以便如果其他人陷入同样的麻烦,即使他们可以检查这个替代方案。谢谢!