인스턴트 저장 프로 시저를 실행하고 그 결과를 임시 테이블에 삽입하려고하면 다음 메시지가 나타납니다.링크 된 서버 SQLNCLI 문제점. "트랜잭션이 활성화되어 있지 않습니다"
OLE DB 공급자 "SQLNCLI "연결된 서버"MyServerName "이 분산 트랜잭션을 시작할 수 없습니다. 연결된 서버 "MyServerName"의 OLE DB 공급자 "SQLNCLI"에서 "트랜잭션이 활성화되지 않았습니다."라는 메시지가 반환되었습니다.
내 쿼리는 다음과 같습니다
INSERT INTO #TABLE
EXEC MyServerName.MyDatabase.dbo.MyStoredProcedure Param1, Param2, Param3
정확한 열 번호, 이름, 문제는 결과가 없습니다.
두 컴퓨터 모두에서 MSDTC가 허용되고 시작됩니다. 원격 프로 시저 호출도 마찬가지입니다.
컴퓨터가 동일한 도메인에 있지 않지만 내 컴퓨터에서 원격 쿼리를 실행하고 그 결과를 얻을 수 있습니다. 스토어드 프로 시저를 실행하고 결과를 볼 수도 있습니다. 다른 테이블에 삽입 할 수 없습니다.
도와주세요. :)
편집 아 내가 얘기를 깜빡 했네요, 저장 프로 시저가 트리거를 실행하지 않습니다. 데이터를 처리하기 위해 자체를 작성하는 임시 테이블에 레코드를 삽입하기 만합니다.
: 은 (http://msdn.microsoft.com/en-us/library/ms188427(SQL.90).aspx) SQL Server 2000 및 이후 버전에서 , OPENQUERY를 실행하는 데 사용할 수 없습니다 연결된 서버에서 확장 저장 프로 시저 그러나 확장 된 저장 프로 시저를 네 부분으로 된 이름을 사용하여 연결된 서버에서 실행할 수 있습니다. 예 : EXEC SeattleSales.master.dbo.xp_msver – Smur
원본 포스터는 확장 저장 프로 시저 또는 일반 저장 프로 시저가 아닙니다. – thomas