我们有一个SQL Server 2014数据库,它基本上是我们作为链接服务器连接的第三方远程SQL Server实例的一组视图。他们正在升级到2016年并表示我们需要2016年的实例才能很快连接到他们的系统。
我在我们拥有SQL Server 2014的同一台服务器上设置了一个新实例,并在那里创建了一个新数据库。在2014年的实例中,我们有一些表的快照,我们每天刷新几次。通过此设置从系统中提取数据工作正常,但我们有几个地方可以更新第三方数据库。改变后,这停止了工作。
我要么收到错误
'OLE DB提供程序“SQLNCLI11”用于链接服务器“”返回消息“事务管理器已禁用其对远程/网络事务的支持。”。
或者没有交易的错误。第二个错误只发生在昨天我试图解决问题的时候。
我尝试调整我们服务器上的DTC设置,但这只是给了我第二个错误,而且似乎导致远程连接到我们的数据库的问题...
这就是更新中的所有内容:
UPDATE [2016Instance].[DBName].dbo.EmpPers
SET eepAddressEMail = @CurEmpEmail
WHERE eepEEID = @CurEEID
还有其他东西需要设置才能使用吗?我正在考虑重新设计这个以便能够从SQL Server 2016实例运行,相反,但我想我会先问这里。
我最终通过将存储过程移动到SQL 2016实例,设置返回SQL 2014实例的链接,然后更改SQL 2014实例上的存储过程以仅在SQL 2016上执行新版本来实现此功能实例。这也不需要主要问题的评论中的DTC设置。