OLE DB provider "SQLNCLI11" for linked server "10.0.9.137" returned message "事务中的登记已经存在。". 消息 7395,级

假如,要在生产服务器上操作仿真环境服务器上某些表的内容(建了链接服务器),

如:

BEGIN TRAN --ROLLBACK


INSERT INTO [10.0.9.137].SubjectDB.[Sale]. [SaleRecord_SaleProduct]
SELECT *
FROM SubjectDB.[Sale]. [SaleRecord_SaleProduct]


就会报错:

OLE DB provider "SQLNCLI11" for linked server "10.0.9.137" returned message "事务中的登记已经存在。".
消息 7395,级别 16,状态 2,第 2 行
Unable to start a nested transaction for OLE DB provider "SQLNCLI11" for linked server "10.0.9.137". A nested transaction was required because the XACT_ABORT option was set to OFF.


解决办法:

在最前面加语句:

SET XACT_ABORT ON


题外话:多谢同事云鹤,否则我一直以为用链接服务器时,不能开事务呢。

你可能感兴趣的:(3,SQL,SERVER,学习)