다음을 통해 공유


서버 구성: 미결 트랜잭션 확인

적용 대상: SQL Server Azure SQL Managed Instance SQL Server on Azure VM

in-doubt xact resolution 옵션을 사용하여 MS DTC(Microsoft Distributed Transaction Coordinator)가 해결할 수 없는 트랜잭션의 기본 결과를 조정합니다. MS DTC가 꺼진 경우나 복구 시 알 수 없는 트랜잭션 결과가 있는 경우에는 트랜잭션을 해결할 수 없습니다.

다음 표에서는 미결 트랜잭션을 해결하기 위한 가능한 결과 값을 나열합니다.

결과 값 설명
0 가정이 없습니다. MS DTC가 미결 트랜잭션을 해결할 수 없는 경우 복구가 실패합니다.
1 커밋을 가정합니다. 모든 MS DTC 미결 트랜잭션이 커밋된 것으로 가정합니다.
2 중단을 가정합니다. 모든 MS DTC 미결 트랜잭션이 중단된 것으로 가정합니다.

종료 시간이 연장되지 않게 하려면 관리자는 다음 예와 같이 이 옵션을 선택하여 커밋을 가정하거나 중단을 가정하도록 구성할 수 있습니다.

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'in-doubt xact resolution', 2; -- presume abort
GO
RECONFIGURE;
GO
sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO

또는 관리자는 다음 예제와 같이 기본값(가정 없음)을 그대로 두고 DTC 오류를 인식하기 위해 복구 실패를 허용할 수 있습니다.

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'in-doubt xact resolution', 1; -- presume commit
GO
RECONFIGURE
GO
ALTER DATABASE pubs SET ONLINE -- run recovery again
GO
sp_configure 'in-doubt xact resolution', 0 -- back to no assumptions
GO
sp_configure 'show advanced options', 0
GO
RECONFIGURE
GO

in-doubt xact resolution 옵션은 고급 옵션입니다. sp_configure 시스템 저장 프로시저를 사용하여 설정을 변경하는 경우 in-doubt xact resolutionshow advanced options로 설정했을 때만 1를 변경할 수 있습니다. 이 설정은 서버를 다시 시작하지 않아도 즉시 적용됩니다.

참고 항목

모든 분산 트랜잭션에 관련된 모든 SQL Server 인스턴스에서 이 옵션을 일관되게 구성하면 데이터 불일치를 방지할 수 있습니다.