TransactionScope: 일부 시스템에서 MSDTC 에스컬레이션이 발생하는 이유
TransactionScope는 데이터 액세스 계층의 트랜잭션 성능을 향상시킵니다. 그러나 일반적인 문제는 MSDTC 에스컬레이션이 개발자 컴퓨터 전체에서 일관되지 않게 발생한다는 것입니다. 이 기사에서는 그 이유와 해결 방법을 살펴봅니다.
MSDTC 에스컬레이션 원인
MSDTC 에스컬레이션은 다음과 같은 경우에 발생합니다.
문제 해결 및 해결 방법
조사 결과 중요한 차이점이 드러났습니다. 에스컬레이션을 하지 않은 개발자는 SQL Server 2008을 사용한 반면, 이를 경험한 개발자는 SQL Server 2005를 사용했습니다.
SQL Server 2005와 SQL Server 2008
SQL 서버 2008:
SQL 서버 2005:
SQL Server 2005의 경우 TransactionScope 전체에서 전역 범위의 단일 개방형 연결을 유지하면 에스컬레이션이 방지됩니다. 그러나 이는 지연된 연결 열기 및 신속한 연결 종료의 모범 사례와 모순됩니다.
추가 고려 사항:
SqlTableAdapter
을 사용하고 연결을 미리 열면 트랜잭션이 조기에 종료되어 에스컬레이션이 발생할 수 있습니다.위 내용은 일부 컴퓨터에서 내 TransactionScope가 자동으로 MSDTC로 에스컬레이션되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!