Partilhar via


Níveis de isolamento de transações

Applies to:SQL ServerAzure SQL Managed Instance

O SQL Server não garante que as dicas de bloqueio serão honradas 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 respeita apenas o nível de isolamento para acesso a READ COMMITTED metadados. Se uma transação tiver um nível de isolamento, ou seja, por exemplo, SERIALIZABLE e dentro da transação, for 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é serem concluídas como READ COMMITTED. No entanto, sob isolamento de instantâneo, o acesso aos metadados pode falhar devido a operações DDL simultâneas. Isso ocorre porque os metadados não são versionados. Portanto, o acesso ao seguinte sob isolamento de instantâneo pode falhar:

  • Catalog views
  • Compatibility views
  • Vistas do esquema de informações
  • Funções incorporadas emissoras de metadados
  • sp_help grupo de procedimentos armazenados
  • Procedimentos do catálogo do SQL Server Native Client
  • Visualizaçõ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 a 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