SQL Server에 대한 OLE DB 공급자를 사용하여 중첩된 트랜잭션을 구현할 때 오류 메시지: "OLE DB 공급자에 대한 트랜잭션을 시작할 수 없습니다."

기술 자료 번역 기술 자료 번역
기술 자료: 306649 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

Microsoft OLE DB 공급자는 SQL Server 중첩된 트랜잭션을 지원하지 않으며 다음과 같은 오류 메시지가 반환됩니다.
OLE DB 공급자 ' %1! ' 트랜잭션을 시작할 수 없습니다.
공급자가 SQL Server 관련 공급자 경우 Microsoft SQL Server 또한 다음 오류 메시지를 반환합니다.
서버: 메시지 7392, 수준 16, 상태 2,
OLE DB 공급자 'SQLOLEDB' 트랜잭션을 시작할 수 없습니다. [OLE/DB 공급자 메시지를 반환했습니다: 하나의 트랜잭션이 이 세션이 활성화될 수 있습니다.]

원인

이 오류는 데이터 수정 문을 OLE DB 공급자에 대해 연결이 명시적 또는 암시적 트랜잭션에서 OLE DB 공급자가 중첩된 트랜잭션을 지원하지 않는 경우 시도하고 수 있음을 나타냅니다. 특정 오류 조건에 대한 데이터 수정 문 사용하여 트랜잭션을 계속 수행하면서 효과를 종료할 수 있도록 SQL Server이 이 지원이 필요합니다.

해결 방법

이 문제를 해결하려면 XACT_ABORT 옵션이 ON으로 전에 트랜잭션 설정하십시오. 이로 인해 SQL Server 데이터 수정 문을 처리하는 동안 오류 발생 시 주위의 트랜잭션을 종료합니다. SET XACT_ABORT 설정되어 있으면 SQL Server OLE DB 공급자가 중첩된 트랜잭션 지원이 필요하지 않습니다.

현재 상태

이것은 의도적으로 설계된 동작입니다.

추가 정보

문제를 재현하기 위한 단계

이 샘플에서는 OLE DB 공급자는 SQL Server XACT_ABORT 효과를 설명하기 위해 사용하는 연결된 서버를 사용합니다.
  1. OLE DB 공급자는 SQL Server SQL Server에 대한 Microsoft OLE DB 공급자를 사용하는 연결된 서버 Sales라는 만들 수 있습니다.
    USE Master
    GO
    EXEC sp_addlinkedserver 
        'Sales',
        N'SQL Server'
    GO
    					
  2. 쿼리 분석기를 열고 다음 명령을 실행합니다.
    Begin Transaction
    Insert into Sales.Northwind.DBO.Customers(CustomerId,CompanyName) Values ('1000','Test')
    Commit Transaction
    					
    앞에서 설명한 오류 메시지가 나타납니다.

    해결 방법

  3. XACT_ABORT 옵션이 ON으로 설정한 다음 명령을 실행하여:
    Set XACT_ABORT ON
    					
  4. 삽입 문을 다시 실행하십시오. 데이터 오류 없이 테이블이 삽입됩니다 알 수 있습니다.

참조

자세한 내용은 Microsoft 기술 자료 문서를 보려면 해당 자료의 문서를 참조하십시오.
177138ODBC/OLE DB/ADO 없음 중첩된 트랜잭션 정보:
187289HOWTO: Oracle 함께 중첩된 트랜잭션 구현

속성

기술 자료: 306649 - 마지막 검토: 2005년 12월 9일 금요일 - 수정: 4.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.6 서비스 팩 1
키워드:?
kbmt kbprb KB306649 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com