Vistas y funciones de gestión dinámica del sistema

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de SQL Analytics en Microsoft FabricAlmacén en Microsoft FabricBase de datos SQL en Microsoft Fabric

Los objetos de gestión dinámica incluyen vistas de gestión dinámica (DMV) y funciones de gestión dinámica (DMF). Estos objetos devolven información sobre el estado del servidor que puedes usar para monitorizar el estado de una instancia de servidor, diagnosticar problemas y ajustar el rendimiento.

Los objetos de gestión dinámica pueden ser con alcance de servidor o con alcance de base de datos.

Consulta a objetos de gestión dinámica

Todos los objetos de gestión dinámica existen en el sys esquema y siguen la convención dm_*de nombres .

Cuando usas un objeto de gestión dinámica, debes prefijar el nombre del objeto usando el sys esquema. Por ejemplo, para consultar la vista de dm_os_wait_stats gestión dinámica, ejecuta la siguiente consulta:

SELECT wait_type,
       wait_time_ms
FROM sys.dm_os_wait_stats;

La siguiente tabla describe cómo referenciar objetos de gestión dinámica en Transact-SQL:

Referencia de T-SQL Vista de administración dinámica Función de gestión dinámica
Denominación de una sola parte No No
Denominación en dos partes
Denominación en tres partes
Denominación en cuatro partes No

Comentarios

Los objetos de gestión dinámica devuelven datos internos de estado específicos de la implementación. Sus esquemas y los datos que devuelven podrían cambiar en futuras versiones del Motor de base de datos. Por lo tanto, los objetos de gestión dinámica en futuras versiones podrían no ser compatibles con los objetos de gestión dinámica en esta versión.

Por ejemplo, en futuras versiones de Motor de base de datos, Microsoft podría ampliar la definición de cualquier vista de gestión dinámica añadiendo columnas al final de la lista de columnas. No uses la sintaxis SELECT * FROM dynamic_management_view_name en el código de producción porque el número de columnas devueltas podría cambiar y romper tu aplicación.

Permissions

Consultar un objeto de gestión dinámica requiere SELECT permiso sobre el objeto y depende del alcance del objeto y de la versión del Motor de base de datos de SQL Server:

Versión Alcance del servidor Ámbito de la base de datos
SQL Server 2019 (15.x) y versiones anteriores VIEW SERVER STATE VIEW DATABASE STATE
SQL Server 2022 (16.x) y versiones posteriores VIEW SERVER PERFORMANCE STATE, o VIEW SERVER SECURITY STATE para objetos relacionados con la seguridad VIEW DATABASE PERFORMANCE STATE, o VIEW DATABASE SECURITY STATE para objetos relacionados con la seguridad

Para restringir el acceso selectivamente, crea al usuario o inicia master sesión y luego niega ese permiso de usuario SELECT sobre las vistas o funciones específicas de gestión dinámica que quieres bloquear. El usuario no puede seleccionar entre esos objetos después, independientemente del contexto de la base de datos.

Nota:

DENY tiene prioridad sobre GRANT. Por ejemplo, un usuario concedido VIEW SERVER PERFORMANCE STATE pero denegado VIEW DATABASE PERFORMANCE STATE puede ver información a nivel de servidor pero no información a nivel de base de datos.