안녕하세요.
제목과 같은 오류가 발생되고 있어서 문의드립니다.
현재 2008 R2를 사용중이며 c#으로 분산 트랜잭션을 사용중입니다.
특정 프로시저를 호출하면 제목과 같은 오류가 발생되는데..
그 내부에는 Linked Server가 설정되어있습니다. (모두 동일 DB의 instance로 설정)
여러 검색을 통해서 설정을 몇몇가지 해보았지만.. 해결되지 않아 이렇게 글을 남기게 되었습니다.
특히 msdn을 보면 (http://msdn.microsoft.com/ko-kr/library/ms188716(v=sql.105).aspx)
------------------------------------------------------------------------------------------------------------------------
분산 트랜잭션에서는 루프백 연결된 서버를 사용할 수 없습니다. 분산 트랜잭션 내의 루프백 연결된 서버에 분산 쿼리를 실행하려고 하면 오류 3910과 같은 오류가 발생합니다. "[Microsoft][ODBC SQL Server Driver][SQL Server]다른 세션에서 트랜잭션 컨텍스트를 사용 중입니다." 이 제한 사항은 MARS(Multiple Active Result Set)가 설정되지 않은 연결에 의해 실행된 INSERT...EXECUTE 문이 루프백 연결된 서버에 대해 실행되는 경우에는 적용되지 않습니다. 이 제한 사항은 연결에 대해 MARS가 설정된 경우에는 계속 적용됩니다.
------------------------------------------------------------------------------------------------------------------------
MARS라는 것도 Connection String에서 설정하는 것외에는 특이사항이 없던데.. 이부분도.. 잘 안되는듯 했습니다.
혹시 이런경험이 있던 분들 어떻게 해결을 하셨는지 궁금합니다.
링크 서버에 락을 거신거 같은데요.(제가 알기론 안되요)
다른 방법을 찾아 보심이