资料(SET REMOTE_PROC_TRANSACTIONS)
SET REMOTE_PROC_TRANSACTIONS
指定当本地事务活动时,如果执行远程存储过程,将启动由 Microsoft 分布式事务管理器 (MS DTC) 管理的 Transact-SQL 分布式事务。
语法
SET REMOTE_PROC_TRANSACTIONS { ON | OFF }
参数
ON | OFF
当设置为 ON 时,从本地事务执行远程存储过程时将启动 Transact-SQL 分布式事务。当设置为 OFF 时,从本地事务调用远程存储过程将不启动 Transact-SQL 分布式事务。
注释
当 REMOTE_PROC_TRANSACTIONS 设置为 ON 时,调用远程存储过程将启动分布式事务,并用 MS DTC 登记该事务。调用远程存储过程的服务器是事务创建者,负责控制事务的完成。当连接发出后续 COMMIT TRANSACTION 或 ROLLBACK TRANSACTION 语句时,主控服务器请求 MS DTC 在所涉及的服务器间管理分布式事务的完成。
启动 Transact-SQL 分布式事务后,可以对其它远程服务器调用远程存储过程。远程服务器全部登记在 Transact-SQL 分布式事务中,而 MS DTC 确保在每台服务器上完成该事务。
REMOTE_PROC_TRANSACTIONS 是可用于替代服务器级 sp_configure remote proc trans 选项的连接级设置。
当 REMOTE_PROC_TRANSACTIONS 设置为 OFF 时,远程存储过程调用不能成为本地事务的一部分。远程存储过程所做的修改将在存储过程完成时提交或回滚。由调用远程存储过程的连接发出的后续 COMMIT TRANSACTION 或 ROLLBACK TRANSACTION 语句对该过程所做的处理无效。
REMOTE_PROC_TRANSACTIONS 选项是一个兼容性选项,只影响对使用 sp_addserver 定义的远程服务器所进行的远程存储过程调用。有关更多信息,请参见远程存储过程构架。该选项不适用于在使用 sp_addlinkedserver 定义的链接服务器上执行存储过程的分布式查询。有关更多信息,请参见分布式查询构架。
SET REMOTE_PROC_TRANSACTIONS 的设置是在执行或运行时设置,而不是在分析时设置。
权限
SET REMOTE_PROC_TRANSACTIONS 权限默认授予所有用户。