Vistas de administración dinámica del sistema

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Las vistas de administración dinámica (DMV) y las funciones de administración dinámica (DMF) devuelven información de estado del servidor que se puede usar para supervisar el estado de una instancia de servidor, diagnosticar problemas y optimizar el rendimiento.

Importante

Las funciones y vistas de administración dinámica devuelven datos sobre el estado interno de la implementación. Sus esquemas y los datos que devuelven pueden cambiar en futuras versiones de SQL Server. Por lo tanto, es posible que las funciones y vistas de administración dinámica de las versiones futuras no sean compatibles con las funciones y vistas de administración dinámica en esta versión. Por ejemplo, en futuras versiones de SQL Server, Microsoft puede aumentar la definición de cualquier vista de administración dinámica agregando columnas al final de la lista de columnas. Se recomienda no usar la sintaxis SELECT * FROM dynamic_management_view_name en código para producción, ya que el número de columnas devueltas podría cambiar y alterar la aplicación.

Hay dos tipos de funciones y vistas de administración dinámica:

  • Funciones y vistas de administración dinámica con ámbito en el servidor. Se requiere el permiso VIEW SERVER STATE en el servidor. Para SQL Server 2022 y versiones posteriores, se requiere VIEW SERVER PERFORMANCE STATE o SE requiere VIEW SERVER SECURITY STATE para algunas DMV relacionadas con la seguridad.

  • Funciones y vistas de administración dinámica con ámbito en la base de datos. Se requiere el permiso VIEW DATABASE STATE en la base de datos. Para SQL Server 2022 y versiones posteriores, se requiere VIEW DATABASE PERFORMANCE STATE o VIEW DATABASE SECURITY STATE es necesario para algunas DMV relacionadas con la seguridad.

Vistas de administración dinámica de consultas

Se puede hacer referencia a las vistas de administración dinámica en instrucciones Transact-SQL mediante nombres de dos partes, tres o cuatro partes. Por otro lado, se puede hacer referencia a las funciones de administración dinámica en instrucciones Transact-SQL mediante nombres de dos o tres partes. No se puede hacer referencia a las vistas y funciones de administración dinámica en instrucciones Transact-SQL mediante nombres de una sola parte.

Todas las funciones y vistas de administración dinámica existen en el esquema sys y siguen la convención de nomenclatura siguiente: dm_*. Cuando utilice una función o vista de administración dinámica, debe agregar un prefijo al nombre de la función o vista mediante el esquema sys. Por ejemplo, para consultar la vista de administración dinámica dm_os_wait_stats, ejecute la consulta siguiente:

SELECT wait_type, wait_time_ms
FROM sys.dm_os_wait_stats;

Permisos necesarios

Para ejecutar una consulta en una función o vista de administración dinámica, es necesario el permiso SELECT sobre el objeto y el permiso VIEW SERVER STATE o VIEW DATABASE STATE. Así podrá restringir de forma selectiva el acceso de un usuario o inicio de sesión a las funciones y vistas de administración dinámica. Para ello, cree primero el usuario en master y deniegue el permiso SELECT del usuario en las funciones o vistas de administración dinámica a las que no desea que accedan. Después de esto, el usuario no puede seleccionar entre estas funciones o vistas de administración dinámica, independientemente del contexto de base de datos del usuario.

Nota:

Dado que el permiso DENY tiene prioridad, si un usuario tiene concedido el permiso VIEW SERVER STATE, pero tiene denegado el permiso VIEW DATABASE STATE, el usuario podrá ver la información en el servidor, pero no en la base de datos.

En esta sección

Las funciones y vistas de administración dinámica están organizadas en las categorías siguientes.