sys.dm_external_script_execution_stats

Gilt für: SQL Server 2016 (13.x) und höher Azure SQL Managed Instance

Gibt eine Zeile für jeden Typ von externer Skriptanforderung zurück. Die externen Skriptanforderungen werden nach der unterstützten externen Skriptsprache gruppiert. Für jede registrierte externe Skriptfunktion wird eine Zeile generiert. Beliebige externe Skriptfunktionen werden nur aufgezeichnet, wenn sie von einem übergeordneten Prozess gesendet werden, z. B rxExec. .

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 R Services in SQL Server 2016, Machine Learning Services (R, Python) in SQL Server 2017 und höher und Azure SQL Managed Instance Machine Learning Services.

Spaltenname Datentyp BESCHREIBUNG
language nvarchar Name der registrierten externen Skriptsprache. Jedes externe Skript muss die Sprache in der Skriptanforderung angeben, um das zugehörige Startprogramm zu starten.
counter_name nvarchar Name einer registrierten externen Skriptfunktion. Lässt keine NULL-Werte zu.
counter_value integer Gesamtanzahl der Instanzen, die von der registrierten externen Skriptfunktion auf dem Server aufgerufen wurden. Dieser Wert ist kumulativ, beginnend mit dem Zeitpunkt, zu dem das Feature auf dem instance installiert wurde, und kann nicht zurückgesetzt werden.

Berechtigungen

Für SQL Server 2019 (15.x) und früheren Versionen ist die VIEW SERVER STATE-Berechtigung auf dem Server erforderlich.

Für SQL Server 2022 (16.x) und höher ist die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server erforderlich.

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.

Hinweise

Diese DMV wird für interne Telemetriedaten bereitgestellt, um die Gesamtnutzung der neuen externen Skriptausführungsfunktion zu überwachen, die in SQL Server bereitgestellt wird. Der Telemetriedienst wird mit Launchpad gestartet und inkrementiert jedes Mal einen datenträgerbasierten Zähler, wenn eine registrierte externe Skriptfunktion aufgerufen wird.

Leistungsindikatoren sind im Allgemeinen nur so lange gültig, wie der Prozess aktiv ist, der sie generiert hat. Daher kann eine Abfrage für eine DMV keine detaillierten Daten für Dienste anzeigen, die die Ausführung beendet haben. Wenn ein Startprogramm beispielsweise externe Skripts ausführt und diese dennoch schnell abschließt, zeigt eine herkömmliche DMV möglicherweise keine Daten an.

Daher werden die von dieser DMV nachverfolgten Indikatoren weiterhin ausgeführt, und der Zustand für sys.dm_external_script_requests wird mithilfe von Schreibvorgängen auf datenträger beibehalten, auch wenn die instance heruntergefahren wird.

Zählerwerte

In SQL Server 2016 (13.x) wird nur R unterstützt, und die externen Skriptanforderungen werden von R Services (In-Database) verarbeitet. In SQL Server 2017 (14.x) und höheren Versionen sowie auf Azure SQL Managed Instance werden sowohl R als auch Python externe Sprachen unterstützt, und die externen Skriptanforderungen werden von Machine Learning Services verarbeitet.

Für R verfolgt diese DMV die Anzahl der R-Aufrufe nach, die auf einem instance erfolgen. Wenn rxLinMod beispielsweise aufgerufen und parallel ausgeführt wird, erhöht sich der Zähler um 1.

Für die Sprache R stellen die im Feld counter_name angezeigten Leistungsindikatorwerte die Namen von registrierten ScaleR-Funktionen dar. Die Werte im Feld counter_value stellen die kumulierte Anzahl von Instanzen für die bestimmte ScaleR-Funktion dar.

Für Python verfolgt diese DMV die Anzahl der Python-Aufrufe nach, die auf einer instance ausgeführt werden.

Die Anzahl beginnt, wenn das Feature auf dem instance installiert und aktiviert ist, und ist kumulativ, bis die Datei, die den Status verwaltet, von einem Administrator gelöscht oder überschrieben wird. Daher ist es in der Regel nicht möglich, die Werte in counter_value zurückzusetzen. Zum Überwachen der Nutzung nach Sitzung, Kalenderzeiten oder anderen Intervallen wird empfohlen, dass Sie die Leistungsindikatoren in einer Tabelle erfassen.

Registrierung externer Skriptfunktionen in R

R unterstützt beliebige Skripts, und die R-Community stellt Tausende von Paketen mit jeweils eigenen Funktionen und Methoden bereit. Diese DMV überwacht jedoch nur die ScaleR-Funktionen, die mit SQL Server 2016 (13.x) R Services installiert sind.

Die Registrierung dieser Funktionen erfolgt, wenn das Feature installiert ist, und registrierte Funktionen können nicht hinzugefügt oder gelöscht werden.

Beispiele

Anzeigen der Anzahl der auf dem Server ausgeführten R-Skripts

Im folgenden Beispiel wird die kumulative Anzahl von externen Skriptausführungen für die R-Sprache angezeigt.

SELECT counter_name, counter_value
FROM sys.dm_external_script_execution_stats
WHERE language = 'R';

Anzeigen der Anzahl der auf dem Server ausgeführten Python-Skripts

Im folgenden Beispiel wird die kumulative Anzahl externer Skriptausführungen für die Python-Sprache angezeigt.

SELECT counter_name, counter_value
FROM sys.dm_external_script_execution_stats
WHERE language = 'Python';

Siehe auch