Sys.dm_external_script_requests

S’applique à : SQL Server 2016 (13.x) et azure SQL Managed Instance ultérieure

Renvoie une ligne pour chaque compte de travail actif qui exécute un script externe.

Remarque

Cette vue de gestion dynamique (DMV) est disponible uniquement si vous avez installé et activé la fonctionnalité qui prend en charge l’exécution de script externe. Pour plus d’informations, consultez Machine Learning Services (R, Python) dans SQL Server 2017 et versions ultérieures, R Services dans SQL Server 2016 et Machine Learning Services dans Azure SQL Managed Instance.

Nom de la colonne Type de données Description
external_script_request_id identificateur unique ID du processus qui a envoyé la demande de script externe. Cela correspond à l’ID de processus reçu par l’instance SQL.
langage nvarchar Mot clé qui représente un langage de script pris en charge.
degree_of_parallelism int Nombre indiquant le nombre de traitements parallèles qui ont été créés. Cette valeur peut être différente du nombre de traitements parallèles qui ont été demandés.
external_user_name nvarchar Le compte de travail Windows sous lequel le script a été exécuté.

autorisations

Nécessite VIEW SERVER STATE une autorisation sur le serveur.

Remarque

Les utilisateurs qui exécutent des scripts externes doivent disposer de l’autorisation EXECUTE ANY EXTERNAL SCRIPTsupplémentaire. Toutefois, cette vue DMV peut être utilisée par les administrateurs sans cette autorisation.

Autorisations pour SQL Server 2022 (et versions plus récentes)

Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.

Notes

Cette vue peut être filtrée à l’aide de l’identificateur de langage de script.

La vue renvoie également le compte de travail sous lequel le script est en cours d’exécution. Pour plus d’informations sur les comptes de travail utilisés par les scripts externes, consultez la section Identités utilisées dans le traitement (SQLRUserGroup) dans La vue d’ensemble de la sécurité pour l’infrastructure d’extensibilité dans SQL Server Machine Learning Services.

Le GUID renvoyé dans le champ external_script_request_id représente également le nom de fichier du répertoire sécurisé où sont stockés les fichiers temporaires. Chaque compte de travail, tel que MSSQLSERVER01, représente une connexion SQL unique ou un utilisateur Windows, et peut être utilisé pour exécuter plusieurs demandes de script. Par défaut, ces fichiers temporaires sont nettoyés après l’achèvement du script demandé.

Cette vue de gestion dynamique surveille uniquement les processus actifs et ne peut pas générer de rapports sur des scripts déjà effectués. Si vous avez besoin de suivre la durée des scripts, nous vous recommandons d’ajouter des informations de durée à votre script et de les capturer dans le cadre de l’exécution du script.

Exemples

Affichage des scripts actifs pour un processus particulier

L’exemple suivant affiche le nombre d’exécutions de scripts externes en cours d’exécution sur l’instance actuelle.

SELECT external_script_request_id
  , [language]
  , degree_of_parallelism
  , external_user_name
FROM sys.dm_external_script_requests;

Résultats

external_script_request_id langage degree_of_parallelism external_user_name
183EE6FC-7399-4318-AA2E-7A6C68E435A8 R 1 MSSQLSERVER01

Voir aussi