DDL del regulador de recursos y vistas del sistema

Puede utilizar comandos DLL del regulador de recursos, vistas de catálogo y vistas de administración dinámica para todos los aspectos del regulador de recursos. Además de las vistas nuevas específicas del regulador de recursos, se han modificado las vistas de sistema existentes para incluir información acerca del regulador de recursos. En este tema se resumen las instrucciones y vistas siguientes:

  • Comandos DDL, incluyendo los comandos para grupos de cargas de trabajo, grupos de recursos de servidor y para el regulador de recursos.

  • Vistas de sistema del regulador de recursos, incluyendo las vistas de catálogo y de administración dinámica.

  • Las vistas de sistema de SQL Server que se han actualizado para ser compatibles con el regulador de recursos.

  • Las actualizaciones de la clase de eventos de SQL Server así como las nuevas clases de eventos que son compatibles con el regulador de recursos.

Instrucciones de DDL

El regulador de recursos proporciona siete comandos DDL que puede utilizar para configurar todos los aspectos de una sesión del regulador de recursos. Existen comandos CREATE, ALTER y DROP para los grupos de cargas de trabajo y grupos de recursos de servidor. Existe también una instrucción ALTER RESOURCE GOVERNOR RECONFIGURE que aplica los cambios en la configuración.

Los aspectos clave a tener en cuenta acerca de los comandos DLL del regulador de recursos son los siguientes:

  • Las instrucciones CREATE, ALTER y DROP trabajan sobre los metadatos almacenados y son transaccionales. Sin embargo, la ejecución correcta de estas instrucciones no significa que los cambios sean efectivos; deberá ejecutar la instrucción ALTER RESOURCE GOVERNOR RECONFIGURE para aplicar dichos cambios.

  • Las instrucciones anteriores pueden formar parte de una transacción para evitar que diferentes usuarios puedan modificar simultáneamente la misma configuración. Esto se hace utilizando BEGIN TRANSACTION y COMMIT TRANSACTION con las instrucciones. Cualquier bloqueo retenido en una transacción es visible en sys.dm_tran_locks y la transacción se puede detener si es necesario.

    [!NOTA]

    Aunque no es necesario, recomendamos encarecidamente el uso de la sintaxis transaccional cuando utilice las instrucciones de DDL del regulador de recursos. Sin embargo, ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE y ALTER RESOURCE GOVERNOR RESET STATISTICS no pueden formar parte de una transacción de usuario.

  • La instrucción ALTER…RECONFIGURE carga los metadatos en la memoria y puede producir un error. No puede revertir la instrucción. Si la instrucción produce un error, los cambios en los metadatos no se copiarán en la memoria. Si la instrucción se ejecuta correctamente, los cambios serán efectivos. ALTER…RECONFIGURE no es transaccional y no se pueden revertir los cambios.

Comandos del grupo de recursos de servidor

Utilice los comandos descritos en la tabla siguiente para configurar los grupos de recursos de servidor.

Instrucción DDL

Descripción

CREATE RESOURCE POOL

Crea un grupo de recursos de servidor.

ALTER RESOURCE POOL

Cambia la configuración de un grupo de recursos de servidor. Esta instrucción escribe los cambios en los metadatos de la configuración almacenada. Después de ejecutar esta instrucción, debe ejecutar la instrucción ALTER RESOURCE GOVERNOR para escribir la información de los metadatos en la configuración almacenada en memoria.

DROP RESOURCE POOL

Quita un grupo de recursos de servidor.

El regulador de recursos proporciona cuatro parámetros para configurar un grupo de recursos de servidor. Estos valores son:

  • Un porcentaje mínimo y máximo para el uso de la CPU.

  • Un porcentaje mínimo y máximo para el uso de la memoria.

Dependiendo del cambio que realice en la configuración de un grupo de recursos de servidor, es posible que transcurra un período de transición y se produzcan comportamientos conocidos por controlar el activo o por haber esperado solicitudes durante esta transición. Para obtener más información, vea Estados del regulador de recursos.

Comandos del grupo de cargas de trabajo

Utilice los comandos descritos en la tabla siguiente para configurar los grupos de cargas de trabajo.

Comando DDL

Descripción

CREATE WORKLOAD GROUP

Crea un grupo de cargas de trabajo y lo asocia a un grupo de recursos de servidor.

ALTER WORKLOAD GROUP

Cambia la configuración de un grupo de cargas de trabajo. Esta instrucción escribe los cambios en los metadatos de la configuración almacenada. Después de ejecutar esta instrucción, debe ejecutar la instrucción ALTER RESOURCE GOVERNOR para escribir la información de los metadatos en la configuración almacenada en memoria.

DROP WORKLOAD GROUP

Quita un grupo de cargas de trabajo.

El regulador de recursos proporciona los seis parámetros siguientes para configurar un grupo de cargas de trabajo:

  • La cantidad de memoria máxima para una solicitud.

  • El porcentaje máximo de CPU a utilizar para una solicitud.

  • El tiempo de espera de recurso para una solicitud.

  • La importancia relativa de una solicitud.

  • El número máximo de solicitudes para un grupo de cargas de trabajo.

  • El grupo de recursos de servidor en el que se encontrará el grupo de cargas de trabajo.

Dependiendo del cambio que realice en la configuración de un grupo de cargas de trabajo, existen comportamientos conocidos para controlar las solicitudes activas o en espera cuando se aplican los cambios. Para obtener más información, vea Estados del regulador de recursos.

Comando del regulador de recursos

Utilice el comando descrito en la tabla siguiente para configurar el regulador de recursos.

Comando DDL

Descripción

ALTER RESOURCE GOVERNOR

Aplica los cambios de configuración especificados con un comando ALTER, habilita o deshabilita RESOURCE GOVERNOR, registra una función de clasificador o restablece las estadísticas.

La instrucción ALTER RESOURCE GOVERNOR se utiliza para realizar las acciones siguientes:

  • Aplicar los cambios de configuración especificados cuando se emiten las instrucciones ALTER WORKLOAD GROUP o ALTER RESOURCE POOL.

  • Habilitar o deshabilitar el regulador de recursos. Esto también se utiliza para aplicar los cambios de configuración.

  • Registra una función para la clasificación de la solicitud.

  • Restablecer las estadísticas en todos los grupos de cargas de trabajo y grupos de recursos de servidor.

Según el cambio que realice en la configuración del regulador de recursos, existen comportamientos conocidos para controlar las solicitudes activas o en espera cuando se aplican los cambios. Para obtener más información, vea Estados del regulador de recursos.

Vistas del regulador de recursos

Las vistas de catálogo y de administración dinámica siguientes son específicas del regulador de recursos.

Las vistas de catálogo del regulador de recursos se describen en la tabla siguiente.

Nombre

Descripción

sys.resource_governor_configuration

Devuelve el estado del regulador de recursos almacenado.

sys.resource_governor_resource_pools

Devuelve la configuración del grupo de recursos de servidor almacenada. Cada fila de la vista determina la configuración de un grupo.

sys.resource_governor_workload_groups

Devuelve la configuración del grupo de cargas de trabajo almacenada.

Vistas de administración dinámica

Las vistas de la administración dinámica del regulador de recursos se describen en la tabla siguiente.

Nombre

Descripción

sys.dm_resource_governor_workload_groups

Devuelve las estadísticas del grupo de cargas de trabajo y la configuración actual en memoria de éste.

sys.dm_resource_governor_resource_pools

Devuelve información acerca del estado actual del grupo de recursos de servidor, la configuración actual de los grupos de recursos de servidor y estadísticas del grupo de recursos de servidor.

sys.dm_resource_governor_configuration

Devuelve una fila que contiene el estado actual de la configuración en memoria para el regulador de recursos.

Vistas de SQL Server

Se han actualizado varias vistas de sistema de SQL Server y proporcionan información acerca del regulador de recursos.

Vistas de administración dinámica

Las vistas de administración dinámica de SQL Server se describen en la tabla siguiente.

Nombre

Descripción

sys.dm_exec_query_memory_grants

Devuelve información acerca de las consultas que han adquirido una concesión de memoria o que aún requieren una concesión de memoria para ejecutarse. Las consultas que no están a la espera de una concesión de memoria no aparecerán en esta vista. Se han agregado las siguientes columnas al regulador de recursos:

  • group_id

  • pool_id

  • is_small

  • ideal_memory_kb

sys.dm_exec_query_resource_semaphores

Devuelven información acerca del estado actual del semáforo de recursos de consulta. sys.dm_exec_query_resource_semaphores proporciona el estado general de ejecución de las consultas y permite determinar si el sistema tiene acceso a suficiente memoria.

Se ha agregado la siguiente columna al regulador de recursos:

  • pool_id

sys.dm_exec_sessions

Devuelve una fila por cada sesión autenticada en SQL Server.

Se ha agregado la siguiente columna al regulador de recursos:

  • group_id

sys.dm_exec_requests

Devuelve información acerca de cada solicitud que se ejecute en SQL Server.

Se ha agregado la siguiente columna al regulador de recursos:

  • group_id

sys.dm_exec_cached_plans

Devuelve una fila para cada plan de consulta que SQL Server almacena en caché para agilizar la ejecución.

Se ha agregado la siguiente columna al regulador de recursos:

  • pool_id

sys.dm_os_memory_brokers

Las asignaciones internas de SQL Server utilizan el administrador de memoria de SQL Server.

Se han agregado las siguientes columnas al regulador de recursos:

  • pool_id

  • allocations_kb_per_sec

  • predicated_allocations_kb

  • overall_limit_kb

sys.dm_os_wait_stats

Devuelve información acerca de las esperas encontradas por los subprocesos en ejecución. Puede utilizar esta vista para diagnosticar problemas de rendimiento con SQL Server y también con lotes y consultas específicas.

Referencia de las clases de eventos de SQL Server

Se han actualizado varias clases de eventos de SQL Server y se han agregado nuevas clases de eventos que son compatibles con el regulador de recursos.

Nombre

Descripción

Clase de evento Umbral de la CPU superado

Esta clase de eventos indica que el regulador de recursos ha detectado una consulta que supera el umbral de la CPU especificado para REQUEST_MAX_CPU_TIME_SEC.

Clase de evento PreConnect:Starting

Esta clase de eventos indica que se ha comenzado a ejecutar un desencadenador de LOGON o una función de clasificador del regulador de recursos.

Clase de evento PreConnect:Completed

Esta clase de eventos indica que se ha finalizado la ejecución de un desencadenador de LOGON o una función de clasificador del regulador de recursos.