Compartilhar via


Níveis de isolamento de transação

Applies to:SQL ServerAzure SQL Managed Instance

O SQL Server não garante que as dicas de bloqueio serão respeitadas em consultas que acessam metadados por meio de exibições de catálogo, exibições de compatibilidade, exibições de esquema de informações, funções internas emissoras de metadados.

Internamente, o Mecanismo de Banco de Dados do SQL Server só respeita o READ COMMITTED nível de isolamento para acesso a metadados. Se uma transação tiver um nível de isolamento, por exemplo, SERIALIZABLE e dentro da transação, será feita uma tentativa de acessar metadados usando exibições de catálogo ou funções internas emissoras de metadados, essas consultas serão executadas até que sejam concluídas como READ COMMITTED. Porém, no isolamento de instantâneo, o acesso aos metadados pode falhar por causa de operações de DDL simultâneas. Isso ocorre porque os metadados não são versão. Portanto, pode haver falha ao acessar o seguinte no isolamento de instantâneo:

  • Catalog views
  • Compatibility views
  • Visualizações do esquema de informações
  • Funções internas que emitem metadados
  • sp_help grupo de procedimentos armazenados
  • Procedimentos de catálogo do SQL Server Native Client
  • Exibições e funções de gerenciamento dinâmico

Para obter mais informações sobre níveis de isolamento, consulte SET TRANSACTION ISOLATION LEVEL.

A tabela a seguir fornece um resumo do acesso aos metadados em vários níveis de isolamento.

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