다음을 통해 공유


트랜잭션 격리 수준

Applies to:SQL ServerAzure SQL Managed Instance

SQL Server는 카탈로그 뷰, 호환성 보기, 정보 스키마 뷰, 메타데이터 내보내기 기본 제공 함수를 통해 메타데이터에 액세스하는 쿼리에서 잠금 힌트가 적용되도록 보장하지 않습니다.

내부적으로 SQL Server 데이터베이스 엔진은 메타데이터 액세스에 READ COMMITTED 대한 격리 수준만 적용합니다. 트랜잭션에 격리 수준(예 SERIALIZABLE : 트랜잭션 내에서 카탈로그 뷰 또는 메타데이터 내보내기 기본 제공 함수를 사용하여 메타데이터에 액세스하려는 시도)이 있는 경우 해당 쿼리는 완료될 때까지 READ COMMITTED실행됩니다. 그러나 스냅샷 격리에서 동시 DDL 작업으로 인해 메타데이터에 대한 액세스가 실패할 수 있습니다. 메타데이터의 버전이 지정되지 않기 때문입니다. 따라서 스냅샷 격리 상태에서는 다음 항목에 액세스하는 데 실패할 수도 있습니다.

  • Catalog views
  • Compatibility views
  • 정보 스키마 뷰
  • 메타데이터 내보내기 기본 제공 함수
  • sp_help 저장 프로시저 그룹
  • SQL Server Native Client 카탈로그 프로시저
  • 동적 관리 뷰 및 함수

격리 수준에 대한 자세한 내용은 SET TRANSACTION ISOLATION LEVEL참조하세요.

다음 표에서는 다양한 격리 수준에서 메타데이터 액세스에 대한 요약을 제공합니다.

Isolation level Supported Honored
READ UNCOMMITTED No Not guaranteed
READ COMMITTED Yes Yes
REPEATABLE READ No No
SNAPSHOT ISOLATION No No
SERIALIZABLE No No