Share via


DDL di Resource Governor e viste del sistema

È possibile utilizzare comandi DDL di Resource Governor, viste del catalogo e viste a gestione dinamica per tutti gli aspetti di Resource Governor. Oltre alle viste specifiche di Resource Governor, le viste esistenti sono state modificate per includere informazioni su Resource Governor. In questo argomento vengono descritte le seguenti istruzioni e viste:

  • Comandi DDL, inclusi i comandi per gruppi del carico di lavoro, pool di risorse e Resource Governor.

  • Viste di sistema di Resource Governor, ad esempio viste di catalogo e viste a gestione dinamica.

  • Viste di sistema di SQL Server aggiornate per supportare Resource Governor.

  • Aggiornamenti alle classi di evento di SQL Server, così come le nuove classi di evento per il supporto di Resource Governor.

Istruzioni DDL

Sono forniti sette comandi DDL che è possibile utilizzare per configurare tutti gli aspetti di una sessione di Resource Governor. Sono disponibili i comandi CREATE, ALTER e DROP per gruppi del carico di lavoro e pool di risorse. È inoltre disponibile un'istruzione ALTER RESOURCE GOVERNOR RECONFIGURE che consente di applicare le modifiche alla configurazione.

Gli elementi principali da notare sui comandi DFL di Resource Governor sono i seguenti:

  • Le istruzioni CREATE, ALTER e DROP lavorano sui metadati archiviati e sono transazionali. Tuttavia, il completamento di tali istruzioni non rende effettive le modifiche. È necessario eseguire l'istruzione ALTER RESOURCE GOVERNOR RECONFIGURE per applicare le modifiche.

  • Le istruzioni precedenti possono essere parte di una transazione per impedire modifiche simultanee alla stessa configurazione da più utenti. A tale scopo, utilizzare BEGIN TRANSACTION e COMMIT TRANSACTION con le istruzioni. Qualsiasi blocco utilizzato in una transazione è visibile in sys.dm_tran_locks e, se necessario, è possibile arrestare la transazione.

    Nota

    Anche se non è obbligatorio, si consiglia di utilizzare la sintassi transazionale quando vengono utilizzate le istruzioni DDL di Resource Governor. ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE e ALTER RESOURCE GOVERNOR RESET STATISTICS non possono tuttavia fare parte di una transazione utente.

  • L'istruzione ALTER…RECONFIGURE consente di caricare i metadati nella memoria e potrebbe non riuscire. Non è possibile eseguire il rollback dell'istruzione. Se l'istruzione non riesce, le modifiche ai metadati non vengono copiate nella memoria. Se l'istruzione riesce, le modifiche sono effettive. L'istruzione ALTER…RECONFIGURE non è transazionale e non è possibile eseguire il rollback delle modifiche.

Comandi dei pool di risorse

Utilizzare i comandi descritti nella seguente tabella per configurare i pool di risorse.

Istruzione DDL

Descrizione

CREATE RESOURCE POOL

Consente di creare un pool di risorse.

ALTER RESOURCE POOL

Consente di modificare la configurazione di un pool di risorse. Questa istruzione scrive le modifiche nei metadati di configurazione archiviati. Dopo avere eseguito questa istruzione, è necessario eseguire l'istruzione ALTER RESOURCE GOVERNOR per scrivere le informazioni sui metadati nella configurazione in memoria.

DROP RESOURCE POOL

Consente di eliminare un pool di risorse.

Sono disponibili quattro parametri per la configurazione di un pool di risorse. I valori sono i seguenti:

  • Percentuale minima e massima per l'utilizzo della CPU.

  • Percentuale minima e massima per l'utilizzo della memoria.

A seconda della modifica apportata a una configurazione del pool di risorse, potrebbe verificarsi un periodo di transizione e comportamenti noti per la gestione delle richieste attive o in attesa durante tale transizione. Per ulteriori informazioni, vedere Stati di Resource Governor.

Comandi dei gruppi del carico di lavoro

Utilizzare i comandi descritti nella seguente tabella per configurare i gruppi del carico di lavoro.

Comando DDL

Descrizione

CREATE WORKLOAD GROUP

Consente di creare un gruppo del carico di lavoro e associarlo a un pool di risorse.

ALTER WORKLOAD GROUP

Consente di modificare la configurazione di un gruppo del carico di lavoro. Questa istruzione scrive le modifiche nei metadati di configurazione archiviati. Dopo avere eseguito questa istruzione, è necessario eseguire l'istruzione ALTER RESOURCE GOVERNOR per scrivere le informazioni sui metadati nella configurazione in memoria.

DROP WORKLOAD GROUP

Consente di eliminare un gruppo del carico di lavoro.

Sono disponibili i sei parametri seguenti per la configurazione di un gruppo del carico di lavoro:

  • Quantità di memoria massima per una richiesta.

  • Percentuale massima di CPU da utilizzare per una richiesta.

  • Timeout della risorsa per una richiesta.

  • Importanza relativa di una richiesta.

  • Numero massimo di richieste per un gruppo del carico di lavoro.

  • Pool di risorse al quale il gruppo del carico di lavoro appartiene.

A seconda della modifica apportata a una configurazione del gruppo del carico di lavoro, sono presenti comportamenti noti per la gestione delle richieste attive o in attesa quando le modifiche vengono applicate. Per ulteriori informazioni, vedere Stati di Resource Governor.

Comandi di Resource Governor

Utilizzare il comando descritto nella seguente tabella per configurare Resource Governor.

Comando DDL

Descrizione

ALTER RESOURCE GOVERNOR

Consente di applicare le modifiche alla configurazione specificate con un comando ALTER, di abilitare o disabilitare RESOURCE GOVERNOR, di registrare una funzione di classificazione o di reimpostare le statistiche.

L'istruzione ALTER RESOURCE GOVERNOR viene utilizzata per effettuare le seguenti operazioni:

  • Applicazione delle modifiche di configurazione specificate quando vengono eseguite le istruzioni ALTER WORKLOAD GROUP o ALTER RESOURCE POOL.

  • Abilitazione o disabilitazione di Resource Governor. Viene utilizzata anche per l'applicazione delle modifiche alla configurazione.

  • Registrazione di una funzione per la classificazione delle richieste.

  • Reimpostazione delle statistiche relative a tutti i gruppi del carico di lavoro e i pool di risorse.

A seconda della modifica apportata a una configurazione di Resource Governor, sono presenti comportamenti noti per la gestione delle richieste attive o in attesa quando le modifiche vengono applicate. Per ulteriori informazioni, vedere Stati di Resource Governor.

Viste di Resource Governor

Le seguenti viste del catalogo e viste a gestione dinamica sono specifiche di Resource Governor.

Le viste del catalogo di Resource Governor vengono descritte nella seguente tabella.

Nome

Descrizione

sys.resource_governor_configuration

Restituisce lo stato di Resource Governor memorizzato.

sys.resource_governor_resource_pools

Restituisce la configurazione memorizzata del pool di risorse. Ogni riga della vista determina la configurazione di un pool.

sys.resource_governor_workload_groups

Restituisce la configurazione del gruppo del carico di lavoro memorizzata.

Viste a gestione dinamica

Le viste a gestione dinamica di Resource Governor vengono descritte nella seguente tabella.

Nome

Descrizione

sys.dm_resource_governor_workload_groups

Restituisce le statistiche del gruppo del carico di lavoro e la configurazione in memoria corrente del gruppo del carico di lavoro.

sys.dm_resource_governor_resource_pools

Restituisce le informazioni sullo stato del pool di risorse corrente, la configurazione del pool di risorse corrente e le statistiche del pool di risorse.

sys.dm_resource_governor_configuration

Restituisce una riga che contiene lo stato di configurazione in memoria corrente di Resource Governor.

Viste di SQL Server

In SQL Server sono state aggiornate numerose viste di sistema. Tali viste forniscono informazioni relative a Resource Governor.

Viste a gestione dinamica

Le viste a gestione dinamica di SQL Server vengono descritte nella seguente tabella.

Nome

Descrizione

sys.dm_exec_query_memory_grants

Restituisce informazioni sulle query a cui è stata concessa memoria o che sono ancora in attesa di riceverla. Le query che non sono in attesa di una concessione di memoria non saranno incluse in tale vista. Sono state aggiunte le seguenti colonne per Resource Governor:

  • group_id

  • pool_id

  • is_small

  • ideal_memory_kb

sys.dm_exec_query_resource_semaphores

Restituisce informazioni sullo stato del semaforo per le risorse query corrente. sys.dm_exec_query_resource_semaphores specifica lo stato generale della memoria dell'esecuzione di query e consente di determinare se la quantità di memoria disponibile per il sistema è sufficiente.

È stata aggiunta la seguente colonna per Resource Governor:

  • pool_id

sys.dm_exec_sessions

Restituisce una riga per ogni sessione autenticata in SQL Server.

È stata aggiunta la seguente colonna per Resource Governor:

  • group_id

sys.dm_exec_requests

Restituisce informazioni su ciascuna richiesta in esecuzione all'interno di SQL Server.

È stata aggiunta la seguente colonna per Resource Governor:

  • group_id

sys.dm_exec_cached_plans

Restituisce una riga per ogni piano di query memorizzato nella cache da SQL Server per velocizzare l'esecuzione di query.

È stata aggiunta la seguente colonna per Resource Governor:

  • pool_id

sys.dm_os_memory_brokers

Le allocazioni interne a SQL Server utilizzano il gestore della memoria di SQL Server.

Sono state aggiunte le seguenti colonne per Resource Governor:

  • pool_id

  • allocations_kb_per_sec

  • predicated_allocations_kb

  • overall_limit_kb

sys.dm_os_wait_stats

Restituisce informazioni sulle attese rilevate dai thread in esecuzione. È possibile utilizzare questa vista per eseguire la diagnostica dei problemi a livello di prestazioni in SQL Server e anche in query e batch specifici.

Guida di riferimento alla classe di evento SQL Server

Varie classi di evento di SQL Server sono state aggiornate e nuove classi di evento sono state aggiunte per il supporto di Resource Governor.

Nome

Descrizione

Classe di evento CPU Threshold Exceeded

Questa classe di evento indica il rilevamento di una query che supera il valore soglia della CPU specificato per REQUEST_MAX_CPU_TIME_SEC.

Classe di evento PreConnect:Starting

Questa classe di evento indica l'inizio dell'esecuzione di un trigger LOGON o di una funzione di classificazione di Resource Governor.

Classe di evento PreConnect:Completed

Questa classe di evento indica la fine dell'esecuzione di un trigger LOGON o di una funzione di classificazione di Resource Governor.