sys.dm_external_script_requests
Gilt für: SQL Server 2016 (13.x) und höher Azure SQL Managed Instance
Gibt eine Zeile für jedes aktive Workerkonto zurück, das ein externes Skript ausführt.
Hinweis
Diese dynamische Verwaltungsansicht (Dynamic Management View, DMV) ist nur verfügbar, wenn Sie das Feature installiert und aktiviert haben, das die Ausführung externer Skripts unterstützt. Weitere Informationen finden Sie unter Machine Learning Services (R, Python) in SQL Server 2017 und höher, R Services in SQL Server 2016 und Machine Learning Services in Azure SQL verwaltete Instanz.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
external_script_request_id | eindeutiger Bezeichner | Die ID des Prozesses, der die externe Skriptanforderung gesendet hat. Dies entspricht der Prozess-ID, die die SQL-Instanz empfangen hat. |
Sprache | nvarchar | Schlüsselwort, das einer unterstützten Skriptsprache entspricht. |
degree_of_parallelism | int | Zahl, die die Anzahl von parallelen Prozessen angibt, die erstellt wurden. Dieser Wert kann sich von der Anzahl von parallelen Prozessen unterscheiden, die angefordert wurden. |
external_user_name | nvarchar | Das Windows-Workerkonto, unter dem das Skript ausgeführt wurde. |
Berechtigungen
Erfordert VIEW SERVER STATE
berechtigungen auf dem Server.
Hinweis
Benutzer, die externe Skripts ausführen, müssen über die zusätzliche Berechtigung EXECUTE ANY EXTERNAL SCRIPT
verfügen, diese DMV kann jedoch von Administratoren ohne diese Berechtigung verwendet werden.
Berechtigungen für SQL Server 2022 und höher
Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.
Hinweise
Diese Sicht kann über die Skriptsprachen-ID gefiltert werden.
Die Sicht gibt auch das Workerkonto zurück, unter dem das Skript ausgeführt wird. Informationen zu Arbeitskonten, die von den externen Skripts verwendet werden, finden Sie im Abschnitt "Identitäten, die in der Verarbeitung (SQLRUserGroup) verwendet werden" in der Sicherheitsübersicht für das Erweiterbarkeitsframework in SQL Server Machine Learning Services.
Die GUID, die im external_script_request_id -Feld zurückgegeben wird, entspricht auch dem Dateinamen des geschützten Verzeichnisses, in dem temporäre Dateien gespeichert werden. Jedes Arbeitskonto, z. B. MSSQLSERVER01, stellt einen einzelnen SQL-Anmelde- oder Windows-Benutzer dar und kann zum Ausführen mehrerer Skriptanforderungen verwendet werden. Standardmäßig werden diese temporären Dateien nach Abschluss des angeforderten Skripts gelöscht.
Diese dynamische Verwaltungssicht überwacht nur die aktiven Prozesse und kann nichts zu Skripts berichten, die bereits abgeschlossen wurden. Wenn Sie die Dauer von Skripts nachverfolgen müssen, empfiehlt es sich, Informationen zur zeitlichen Steuerung in Ihrem Skript hinzuzufügen und diese Informationen als Teil der Skriptausführung zu erfassen.
Beispiele
Anzeigen der derzeit aktiven Skripts für einen bestimmten Prozess
Im folgenden Beispiel wird die Anzahl von externen Skriptausführungen angezeigt, die für die aktuelle Instanz ausgeführt werden.
SELECT external_script_request_id
, [language]
, degree_of_parallelism
, external_user_name
FROM sys.dm_external_script_requests;
Ergebnisse
external_script_request_id | Sprache | degree_of_parallelism | external_user_name |
---|---|---|---|
183EE6FC-7399-4318-AA2E-7A6C68E435A8 | R | 1 | MSSQLSERVER01 |