Attività di gestione del carico di lavoro nella piattaforma di strumenti analitici

Attività di gestione del carico di lavoro nella piattaforma di strumenti analitici.

Visualizzare i membri di accesso di ogni classe di risorse

Viene descritto come visualizzare i membri di accesso di ogni ruolo del server della classe di risorse in SQL Server PDW. Usare questa query per determinare la classe di risorse consentite per le richieste inviate da ogni account di accesso.

Per le descrizioni delle classi di risorsa, vedere anche Gestione del carico di lavoro.

Questa query visualizza l'elenco di appartenenze per ogni classe di risorse. Le tre classi di risorse sono mediumrc, largerc e xlargerc.

SELECT l.name AS [member], r.name AS [server role]  
FROM sys.server_role_members AS rm  
JOIN sys.server_principals AS l  
  ON l.principal_id = rm.member_principal_id  
JOIN  
  sys.server_principals AS r  
  ON r.principal_id = rm.role_principal_id  
WHERE  
  ( l.[type] = 'S' OR l.[type] = 'U' OR l.[type] = 'G' )  
  AND r.[type] = 'R'  
  AND r.[name] in ('mediumrc', 'largerc', 'xlargerc');  

Se un account di accesso non è incluso in questo elenco, le richieste riceveranno le risorse predefinite. Se un account di accesso è membro di più classi di risorse, la classe più grande ha la precedenza.

Le assegnazioni delle risorse sono elencate in Gestione carico di lavoro.

Modificare le risorse di sistema allocate a una richiesta

Viene descritto come determinare la classe di risorse in cui è in esecuzione una richiesta SQL Server PDW e quindi come modificare le risorse di sistema per tale richiesta. La modifica delle risorse per una richiesta richiede la modifica dell'appartenenza della classe di risorse dell'account di accesso che invia la richiesta usando l'istruzione ALTER SERVER ROLE.

Passaggio 1: Determinare la classe di risorse per l'account di accesso che esegue la richiesta.

Questa query visualizza gli account di accesso membri delle appartenenze ai ruoli del server della classe di risorse. Le tre classi di risorse sono mediumrc, largerc, e xlargerc.

Importante

Questa query deve essere eseguita da un account di accesso con autorizzazione CONTROL SERVER. Se eseguito da un account di accesso senza autorizzazione CONTROL SERVER, questa query restituisce solo le appartenenze ai ruoli per l'account di accesso corrente.

SELECT l.name AS [member], r.name AS [server role]  
FROM sys.server_role_members AS rm  
JOIN sys.server_principals AS l  
  ON l.principal_id = rm.member_principal_id  
JOIN  
  sys.server_principals AS r  
  ON r.principal_id = rm.role_principal_id  
WHERE  
  l.[type] = 'S'   
  AND r.[type] = 'R'  
  AND r.[name] in ('mediumrc', 'largerc', 'xlargerc');  
GO  

Se non sono presenti account di accesso membri di un ruolo del server della classe di risorse, la tabella risultante sarà vuota. In questo caso, se la query restituisce un account di accesso denominato Ching, quando Ching invia una richiesta, la richiesta riceverà le risorse di sistema predefinite, inferiori alle risorse di sistema della classe di risorse. Se un account di accesso è membro di più classi di risorse, la classe più grande ha la precedenza.

Per un elenco delle allocazioni di risorse per ogni classe di risorse, vedere Gestione del carico di lavoro.

Passaggio 2: Eseguire la richiesta con un account di accesso con appartenenza a classi di risorse diverse

Esistono due modi per eseguire una richiesta con risorse di sistema più grandi o più piccole:

  • Eseguire la richiesta con un account di accesso diverso membro di una classe di risorse più grande o più piccola.

  • Aggiungere l'account di accesso necessario a uno dei ruoli della classe di risorse. Scegliere questa opzione con cautela; la modifica della classe di risorse per l'account di accesso modificherà il livello di risorsa di sistema per tutte le richieste inviate dall'account di accesso.

Si supponga che il recupero sia un membro del ruolo del server di dimensioni maggiori. Nell'esempio seguente viene illustrato come aggiungere il Ching di accesso al ruolo del server xlargerc.

ALTER SERVER ROLE xlargerc ADD MEMBER Ching;  

Ching è ora un membro dei ruoli del server di dimensioni maggiori e xlargerc. Quando Ching invia richieste, le richieste riceveranno le risorse di sistema xlargerc.

Nell'esempio seguente Ching torna al ruolo del server mediumrc. Per passare al nuovo ruolo, l'account di accesso deve essere rimosso dai ruoli del server xlargerc e di dimensioni maggiori e aggiunto al ruolo del server mediumrc.

-- Move login Ching back to using medium system resources for requests.  
ALTER SERVER ROLE xlargerc DROP MEMBER Ching;  
ALTER SERVER ROLE largerc DROP MEMBER Ching;  
ALTER SERVER ROLE mediumrc ADD MEMBER Ching;  

Ching è ora un membro del ruolo del server mediumrc. Nell'esempio seguente viene modificato il recupero delle risorse di sistema predefinite per le richieste.

-- Move login Ching to use the default system resources for requests.  
ALTER SERVER ROLE mediumrc DROP MEMBER Ching;  

Per altre informazioni sulla modifica dell'appartenenza al ruolo della classe di risorse, vedere ALTER SERVER ROLE.

Modificare un account di accesso alle risorse di sistema predefinite per le richieste

Viene descritto come modificare le allocazioni delle risorse di sistema assegnate a un account di accesso SQL Server PDW alle quantità predefinite.

Per le descrizioni delle classi di risorsa, vedere anche Gestione del carico di lavoro

Quando un account di accesso non è membro di alcun ruolo del server della classe di risorse, le richieste inviate dall'account di accesso riceveranno la quantità predefinita di risorse di sistema.

Si supponga che l'account di accesso Matt sia attualmente membro di tutti i ruoli del server di classi di risorse e voglia ripristinare la ricezione delle richieste solo delle risorse predefinite. L'esempio seguente assegna le risorse predefinite alle richieste di Matt eliminando l'appartenenza da tutti e tre i ruoli del server della classe di risorse.

--Give the requests submitted by Matt the default system resources   
--by dropping Matt from all resource class server roles.  
ALTER SERVER ROLE XLargeRC DROP MEMBER Matt;  
ALTER SERVER ROLE LargeRC DROP MEMBER Matt;  
ALTER SERVER ROLE MediumRC DROP MEMBER Matt;  

Visualizzare il numero di slot di concorrenza necessari per una richiesta in attesa

Viene descritto come determinare il numero di slot di concorrenza necessari per una richiesta in attesa di esecuzione in SQL Server PDW.

Per ulteriori informazioni, vedere Gestione del carico di lavoro.

Una richiesta potrebbe attendere troppo tempo senza essere eseguita. Uno dei modi per risolvere i problemi della richiesta consiste nell'esaminare il numero di slot di concorrenza necessari per la richiesta. L'esempio seguente mostra il numero di slot di concorrenza necessari per ogni richiesta in attesa.

--Display the number of concurrency slots required   
--for each request that is waiting to run.  
SELECT request_id, concurrency_slots_used AS [Slots Needed], resource_class AS [Resource Class]  
FROM sys.dm_pdw_resource_waits;  

Vedi anche

Gestione del carico di lavoro