Compartir a través de


Acceso a metadatos, niveles de aislamiento y sugerencias de bloqueo

SQL Server no garantiza que se respeten las sugerencias de bloqueo en consultas que tengan acceso a metadatos por medio de vistas de catálogo, vistas de compatibilidad, vistas del esquema de información y funciones integradas de emisión de metadatos.

Internamente, Motor de base de datos de SQL Server solo respeta el nivel de aislamiento READ COMMITTED para el acceso a metadatos. Si una transacción tiene un nivel de aislamiento que es, por ejemplo, SERIALIZABLE, y en la transacción se intenta obtener acceso a metadatos mediante vistas de catálogo o funciones integradas de emisión de metadatos, dichas consultas se ejecutan hasta que finalizan como READ COMMITTED. Sin embargo, en el aislamiento de instantánea, puede que el acceso a metadatos genere un error debido a operaciones DDL simultáneas. Esto se debe a que los metadatos no admiten versiones. Por tanto, puede que en el aislamiento de instantánea se genere un error al obtener acceso a:

  • Vistas de catálogo

  • Vistas de compatibilidad

  • Vistas de esquema de información

  • Funciones integradas de emisión de metadatos

  • Grupo de procedimientos almacenados sp_help

  • Procedimientos de catálogo de SQL Server Native Client

  • Funciones y vistas de administración dinámica

Para obtener más información acerca de los niveles de aislamiento, vea SET TRANSACTION ISOLATION LEVEL (Transact-SQL).

En la siguiente tabla se proporciona un resumen de acceso a metadatos en distintos niveles de aislamiento.

Nivel de aislamiento

Se admite

Respetado

READ UNCOMMITTED

No

Sin garantizar

READ COMMITTED

REPEATABLE READ

No

No

SNAPSHOT ISOLATION

No

No

SERIALIZABLE

No

No