【发布时间】:2018-05-08 14:13:00
【问题描述】:
我有一个链接服务器并试图删除链接服务器中的表上的某些内容。我正在使用事务并尝试在存储过程中捕获如下。
BEGIN TRY
BEGIN TRANSACTION
DELETE FROM [server].[database].[dbo].[Table]
.
.
.
COMMIT TRANSACTION
END TRY
BEGIN CATCH
PRINT(ERROR_MESSAGE())
ROLLBACK TRANSACTION
END CATCH
使用此代码,我在事务中有许多插入和删除。它给出了这个错误:链接服务器“服务器”的 OLE DB 提供程序“SQLNCLI11”返回消息“没有事务处于活动状态。”
我了解到,如果我使用 SET XACT_ABORT ON,它会丢弃任何进程,如果它在运行时遇到任何错误,它会自动回滚。
我尝试在没有事务的情况下使用 SET XACT_ABORT。它正在工作,但没有回滚。
【问题讨论】:
-
我的问题还在继续。
标签: sql sql-server sql-server-2008 tsql transactions