Tâches de gestion des charges de travail dans le système de plateforme Analytics

Tâches de gestion des charges de travail dans le système de plateforme Analytics.

Afficher les membres de connexion de chaque classe de ressources

Décrit comment afficher les membres de connexion de chaque rôle serveur de classe de ressources dans SQL Server PDW. Utilisez cette requête pour déterminer la classe de ressources autorisée pour les demandes soumises par chaque connexion.

Pour obtenir des descriptions de classes de ressources, consultez Gestion des charges de travail.

Cette requête affiche la liste d’appartenances pour chaque classe de ressources. Il existe trois classes de ressources, mediumrc, largerc et 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');  

Si une connexion n’est pas dans cette liste, ses demandes reçoivent les ressources par défaut. Si une connexion est membre de plusieurs classes de ressources, la plus grande classe est prioritaire.

Les allocations de ressources sont répertoriées dans La gestion des charges de travail.

Modifier les ressources système allouées à une demande

Décrit comment déterminer la classe de ressources sous laquelle une requête PDW SQL Server s’exécute, puis comment modifier les ressources système pour cette demande. La modification des ressources d’une demande nécessite la modification de l’appartenance à la classe de ressources de la connexion envoyant la demande, à l’aide de l’instruction ALTER SERVER ROLE .

Étape 1 : Déterminer la classe de ressources pour la connexion exécutant la requête.

Cette requête affiche les connexions qui sont membres des rôles serveur correspondant à la classe de ressource. Il existe trois classes de ressources, mediumrc, largerc et xlargerc.

Important

Cette requête doit être exécutée par une connexion disposant de l’autorisation CONTROL SERVER . Si elle est exécutée par une connexion sans autorisation CONTROL SERVER , cette requête retourne uniquement les appartenances aux rôles pour la connexion actuelle.

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  

S'il n'y a aucune connexion qui soit membre d'un rôle de serveur de classe de ressources, la table résultante sera vide. Dans ce cas, si la requête retourne une connexion nommée Ching, lorsque Ching soumet une demande, celle-ci recevra les ressources système par défaut, qui sont inférieures aux ressources de la classe de ressources du système. Si une connexion est membre de plusieurs classes de ressources, la plus grande classe est prioritaire.

Pour obtenir la liste des allocations de ressources pour chaque classe de ressources, consultez Gestion des charges de travail.

Étape 2 : Exécuter la demande sous une connexion avec une autre appartenance à la classe de ressources

Il existe deux façons d’exécuter une requête avec des ressources système plus grandes ou plus petites :

  • Exécutez la requête sous une connexion différente qui est membre d’une classe de ressources plus grande ou plus petite.

  • Ajoutez la connexion nécessaire à l’un des rôles de classe de ressources. Choisissez cette option avec précaution ; la modification de la classe de ressource pour la connexion modifie le niveau de ressource système pour toutes les demandes soumises par la connexion.

Supposons que Ching soit membre d'un rôle serveur plus important. L’exemple suivant montre comment ajouter la connexion Ching au rôle serveur xlargerc.

ALTER SERVER ROLE xlargerc ADD MEMBER Ching;  

Ching est maintenant membre des rôles de serveur largerc et xlargerc. Lorsque Ching envoie des demandes, celles-ci reçoivent les ressources système de xlargerc.

L’exemple suivant déplace Ching vers le rôle serveur mediumrc. Pour passer au nouveau rôle, la connexion doit être supprimée des rôles serveur xlargerc et largerc, et ajoutée au rôle serveur 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 est maintenant membre du rôle serveur mediumrc. L’exemple suivant modifie Ching pour avoir les ressources système par défaut pour les requêtes.

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

Pour plus d’informations sur la modification de l’appartenance aux rôles de classe de ressources, consultez ALTER SERVER ROLE.

Modifier une connexion aux ressources système par défaut pour ses demandes

Décrit comment modifier les allocations de ressources système affectées à une connexion PDW SQL Server aux montants par défaut.

Pour obtenir des descriptions de classes de ressources, consultez Gestion des charges de travail

Lorsqu’une connexion n’est pas membre d’un rôle serveur de classe de ressources, les demandes soumises par la connexion recevront la quantité par défaut de ressources système.

Supposons que l'identifiant de connexion Quinn est actuellement membre de tous les rôles de serveurs liés aux classes de ressources et souhaite revenir à un état où les demandes reçoivent uniquement les ressources par défaut. L’exemple suivant assigne les ressources par défaut aux demandes de Quinn en supprimant leur appartenance à tous les trois rôles de serveur de classe de ressources.

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

Afficher le nombre d’emplacements concurrentiels nécessaires pour une demande en attente

Décrit comment déterminer le nombre d’emplacements d’accès concurrentiel requis par une demande qui attend l’exécution sur SQL Server PDW.

Pour plus d’informations, consultez Gestion des charges de travail.

Une requête peut être en attente trop longue sans être exécutée. L’une des façons de résoudre les problèmes de la demande consiste à examiner le nombre d’emplacements d’accès concurrentiel dont la demande a besoin. L’exemple suivant montre le nombre d’emplacements d’accès concurrentiel nécessaires par chaque requête en attente.

--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;