Freigeben über


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 rxExec. B. .

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 verwaltete Instanz 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 der Instanz installiert wurde, und kann nicht zurückgesetzt werden.

Berechtigungen

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

Für SQL Server 2022 (16.x) und höhere Versionen ist die BERECHTIGUNG VIEW SERVER PERFORMANCE STATE auf dem Server erforderlich.

Benutzer, die externe Skripts ausführen, müssen über die zusätzliche Berechtigung "EXECUTE ANY EXTERNAL SCRIPT" verfügen. Dieser DMV kann jedoch von Administratoren ohne diese Berechtigung verwendet werden.

Hinweise

Dieser DMV wird für interne Telemetrie bereitgestellt, um die allgemeine Verwendung des neuen Features für die Ausführung externer Skripts zu überwachen, das 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 einen DMV keine detaillierten Daten für Dienste anzeigen, die nicht mehr ausgeführt wurden. Wenn z. B. ein Startprogramm externe Skripts ausführt und sie dennoch schnell abschließt, zeigt ein herkömmliches DMV möglicherweise keine Daten an.

Daher werden die von diesem DMV nachverfolgten Indikatoren ausgeführt, und der Zustand wird sys.dm_external_script_requests beibehalten, indem Schreibvorgänge auf den Datenträger verwendet werden, auch wenn die Instanz heruntergefahren wird.

Leistungsindikatorenwerte

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

Bei R verfolgt dieser DMV die Anzahl der R-Aufrufe, die in einer Instanz getätigt werden. Wenn sie beispielsweise rxLinMod 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 dieser DMV die Anzahl der Python-Aufrufe, die in einer Instanz getätigt werden.

Die Anzahl beginnt, wenn das Feature auf der Instanz installiert und aktiviert ist und kumulativ ist, bis die Datei, die den Status verwaltet, von einem Administrator gelöscht oder überschrieben wird. Daher ist es im Allgemeinen 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 willkürliche Skripts, und die R-Community bietet Tausende von Paketen, jede mit ihren eigenen Funktionen und Methoden. Dieser DMV überwacht jedoch nur die ScaleR-Funktionen, die mit SQL Server 2016 (13.x) R Services installiert sind.

Die Registrierung dieser Funktionen wird ausgeführt, 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 Python-Skripts, die auf dem Server ausgeführt werden

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