다음을 통해 공유


트랜잭션 격리 수준

적용 대상: SQL Server Azure SQL Managed Instance

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

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

  • 카탈로그 뷰

  • 호환성 뷰

  • 정보 스키마 뷰

  • 메타데이터 내보내기 기본 제공 함수

  • 저장 프로시저 그룹 sp_help

  • SQL Server Native Client 카탈로그 프로시저

  • 동적 관리 뷰 및 함수

격리 수준에 대한 자세한 내용은 SET TRANSACTION ISOLATION LEVEL(Transact-SQL)을 참조하세요.

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

격리 수준 지원됨 보장됨
READ UNCOMMITTED 아니요 보장되지 않음
READ COMMITTED
REPEATABLE READ 아니요 아니요
스냅샷 격리 아니요 아니요
직렬화 가능 아니요