Freigeben über


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 SCRIPTverfü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

Siehe auch