sys.dm_exec_distributed_requests (Transact-SQL)

S’applique à : SQL Server 2016 (13.x) et versions ultérieures

Contient des informations sur toutes les requêtes actuellement ou récemment actives dans les requêtes PolyBase. Il répertorie une ligne par requête/requête.

En fonction de l’ID de session et de demande, un utilisateur peut ensuite récupérer les demandes distribuées réelles générées pour être exécutées via sys.dm_exec_distributed_requests. Par exemple, une requête impliquant des tables SQL régulières et sql externes est décomposée en différentes instructions/demandes exécutées sur les différents nœuds de calcul. Pour suivre les étapes distribuées sur tous les nœuds de calcul, nous introduisons un ID d’exécution « global » qui peut être utilisé pour suivre toutes les opérations sur les nœuds de calcul associés à une requête et à un opérateur particuliers, respectivement.

Nom de la colonne Type de données Description Plage
sql_handle varbinary(64) Clé pour cette vue. ID numérique unique associé à la demande. Unique pour toutes les demandes dans le système.
execution_id nvarchar(32) ID numérique unique associé à la session dans laquelle cette requête a été exécutée.
status nvarchar(32) Status actuelle de la demande. 'Pending', 'Authorizationing', 'AcquireSystemResources', 'Initializing', 'Plan', 'Analyse', 'AcquireResources', 'Running', 'Cancelling', 'Complete', 'Failed', 'Cancelled'.
error_id nvarchar(36) ID unique de l’erreur associée à la demande, le cas échéant. Définissez sur NULL si aucune erreur ne s’est produite.
start_time datetime Heure à laquelle l’exécution de la demande a été démarrée. 0 pour les demandes mises en file d’attente ; sinon, dateheure valide inférieure ou égale à l’heure actuelle.
end_time datetime Heure à laquelle le moteur a terminé la compilation de la demande. NULL pour les requêtes en file d’attente ou actives ; sinon, une date/heure valide inférieure ou égale à l’heure actuelle.
total_elapsed_time int Temps écoulé dans l’exécution depuis le démarrage de la requête, en millisecondes. Entre 0 et la différence entre start_time et end_time. Si total_elapsed_time dépasse la valeur maximale d’un entier, total_elapsed_time reste la valeur maximale. Cette condition génère l’avertissement « La valeur maximale a été dépassée ». La valeur maximale en millisecondes équivaut à 24,8 jours.

Voir aussi

Résolution des problèmes PolyBase avec des vues de gestion dynamique
Fonctions et vues de gestion dynamique (Transact-SQL)
Vues de gestion dynamique liées aux bases de données (Transact-SQL)