请教一个在sqlserver2005中执行远程存储过程的问题
1.在远程服务器A的数据库中建立一个存储过程remote_sp
2.在本地服务器B的数据库中建立一个指向A的链接服务器linkserverA
3.在本地服务器B的数据库中建立一个存储过程local_sp,该过程调用A中的存储过程remote_sp
CREATE PROC local_sp
AS
BEGIN
BEGIN TRANSACTION
declare @i int
SELECT * FROM linkserverA.database_A.dbo.tableA -- (可以查询到数据)
exec linkserverA.database_A.dbo.remote_sp @i output --(报错)
select @i
COMMIT
END
exec local_sp 时报错:
OLE DB provider "SQLNCLI" for linked server "linkserverA" returned message "此事务已明地或暗地被确认或终止".
消息 7391,级别 16,状态 2,第 5 行
The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "linkserverA" was unable to begin a distributed transaction.
这是什么原因造成的啊?