System.Transactions.TransactionScope
을 사용하고 격리 수준을 지정하지 않으면 기본값은 Serializable
입니다. 그러나 트랜잭션 범위를 사용하지 않고 구식 테이블 어댑터를 사용하고 있다면 어떻게해야합니까? 그러면 기본 격리 수준은 무엇입니까?기본 ADO.NET 격리 수준이란 무엇입니까?
미리 감사드립니다.
System.Transactions.TransactionScope
을 사용하고 격리 수준을 지정하지 않으면 기본값은 Serializable
입니다. 그러나 트랜잭션 범위를 사용하지 않고 구식 테이블 어댑터를 사용하고 있다면 어떻게해야합니까? 그러면 기본 격리 수준은 무엇입니까?기본 ADO.NET 격리 수준이란 무엇입니까?
미리 감사드립니다.
응용 프로그램 데이터 작업에 절대적이어야하는 경우 기본값을 사용하지 않을 수도 있습니다. 이러한 것들은 프레임 워크 버전간에 변경 될 수 있습니다.
TransactionScope (상황에 따라 DTC로 에스컬레이션 될 수도 있음) 또는 대상 저장 프로 시저 호출 (명시된 경로를 사용하는 경우) 내에서 명시 적으로 모든 데이터 호출에 대해 격리 수준 및 세션 설정을 지정하는 것이 좋습니다. DTC/TransactionScope에에
자세한 내용 : https://stackoverflow.com/a/9075800/1568341
TL; DR
A : SQL ((•))을 위해 최선을 다하고 읽을 수 있지만 에 기본을 가정하지 마십시오
그것은 더 복잡하다; 격리 수준은 풀링 된 연결 사용간에 다시 설정되지 않으므로 "기본 연결의 마지막 사용이 수행 한 작업"에 따라 달라집니다. –
@MarcGravell 네, 정말 고마워요. 내 동료가 나에게 똑같은 언급을하는 링크를 보냈다. 정확하게 성공의 구덩이가 아니며 .NET을 사용하여 7 년 동안 어떻게 알아 차리지 못했는지 알 수는 없습니다 ... –
"기본값 기본값"은 아마도 커밋 된 것으로 읽혀집니다. –