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

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

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 MasterGOEXEC sp_addlinkedserver     'Sales',    N'SQL Server'GO					
  2. 쿼리 분석기를 열고 다음 명령을 실행합니다.
    Begin TransactionInsert 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 함께 중첩된 트랜잭션 구현

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 306649 - 마지막 검토: 12/06/2015 05:04:25 - 수정: 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

  • kbnosurvey kbarchive kbmt kbprb KB306649 KbMtko
피드백