Udostępnij za pomocą


sys.dm_external_script_execution_stats

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje usługi Azure SQL Managed Instance

Zwraca jeden wiersz dla każdego typu żądania skryptu zewnętrznego. Żądania skryptów zewnętrznych są grupowane przez obsługiwany język skryptu zewnętrznego. Jeden wiersz jest generowany dla każdej zarejestrowanej funkcji skryptu zewnętrznego. Dowolne funkcje skryptu zewnętrznego nie są rejestrowane, chyba że są wysyłane przez proces nadrzędny, taki jak rxExec.

Nazwa kolumny Typ danych Description
language nvarchar Nazwa zarejestrowanego języka skryptu zewnętrznego. Każdy skrypt zewnętrzny musi określać język w żądaniu skryptu, aby uruchomić skojarzony moduł uruchamiania.
counter_name nvarchar Nazwa zarejestrowanej funkcji skryptu zewnętrznego. Nie może być oznaczone jako null.
counter_value integer Łączna liczba wystąpień wywoływanych przez zarejestrowaną funkcję skryptu zewnętrznego na serwerze. Ta wartość jest skumulowana, począwszy od czasu zainstalowania funkcji w wystąpieniu i nie można jej zresetować.

Permissions

W przypadku programu SQL Server 2019 (15.x) i poprzednich wersji wymagane jest uprawnienie WYŚWIETL STAN SERWERA na serwerze.

W przypadku programu SQL Server 2022 (16.x) i nowszych wersji wymagane jest uprawnienie WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.

Użytkownicy, którzy uruchamiają skrypty zewnętrzne, muszą mieć dodatkowe uprawnienie WYKONAJ DOWOLNY SKRYPT ZEWNĘTRZNY. Jednak ten dynamiczny widok zarządzania może być używany przez administratorów bez tego uprawnienia.

Uwagi

Ten dynamiczny widok zarządzania jest udostępniany na potrzeby wewnętrznej telemetrii w celu monitorowania ogólnego użycia nowej funkcji wykonywania skryptów zewnętrznych dostępnych w programie SQL Server. Usługa telemetrii jest uruchamiana, gdy funkcja LaunchPad wykonuje i zwiększa licznik oparty na dysku za każdym razem, gdy wywoływana jest zarejestrowana funkcja skryptu zewnętrznego.

Mówiąc ogólnie, liczniki wydajności są prawidłowe tylko tak długo, jak proces, który je wygenerował, jest aktywny. W związku z tym zapytanie na dynamicznym widoku zarządzania nie może wyświetlić szczegółowych danych dotyczących usług, które przestały działać. Jeśli na przykład uruchamianie wykonuje skrypt zewnętrzny i jeszcze je szybko ukończy, konwencjonalny dynamiczny widok zarządzania może nie wyświetlać żadnych danych.

W związku z tym liczniki śledzone przez ten dynamiczny widok zarządzania są uruchomione, a stan jest sys.dm_external_script_requests zachowywany przy użyciu zapisów na dysku, nawet jeśli wystąpienie zostanie zamknięte.

Wartości liczników

W programie SQL Server 2016 (13.x) jedynym obsługiwanym językiem zewnętrznym jest język R, a żądania skryptów zewnętrznych są obsługiwane przez usługi języka R (In-Database). W programie SQL Server 2017 (14.x) i nowszych wersjach oraz w usłudze Azure SQL Managed Instance języki R i Python są obsługiwane w językach zewnętrznych, a żądania skryptów zewnętrznych są obsługiwane przez usługi Machine Learning Services.

W przypadku języka R ten dynamiczny widok zarządzania śledzi liczbę wywołań języka R wykonanych w wystąpieniu. Jeśli na przykład rxLinMod jest wywoływana i uruchamiana równolegle, licznik zwiększa się o 1.

W przypadku języka R wartości liczników wyświetlane w polu counter_name reprezentują nazwy zarejestrowanych funkcji programu ScaleR. Wartości w polu counter_value reprezentują skumulowaną liczbę wystąpień określonych funkcji ScaleR.

W przypadku języka Python ten dynamiczny widok zarządzania śledzi liczbę wywołań języka Python wykonanych w wystąpieniu.

Liczba rozpoczyna się, gdy funkcja jest zainstalowana i włączona w wystąpieniu, i jest kumulowana, dopóki plik, który utrzymuje stan, zostanie usunięty lub zastąpiony przez administratora. W związku z tym zazwyczaj nie można zresetować wartości w counter_value. Jeśli chcesz monitorować użycie według sesji, czasów kalendarzowych lub innych interwałów, zalecamy przechwycenie liczników do tabeli.

Rejestracja funkcji skryptu zewnętrznego w języku R

Język R obsługuje dowolne skrypty, a społeczność języka R udostępnia tysiące pakietów, z których każda ma własne funkcje i metody. Jednak ten dynamiczny widok zarządzania monitoruje tylko funkcje skalowania, które są instalowane z usługami języka R programu SQL Server 2016 (13.x).

Rejestracja tych funkcji jest wykonywana po zainstalowaniu funkcji i nie można dodawać ani usuwać zarejestrowanych funkcji.

Przykłady

Wyświetlanie liczby skryptów języka R uruchamianych na serwerze

Poniższy przykład przedstawia skumulowaną liczbę wykonań skryptów zewnętrznych dla języka R.

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

Wyświetlanie liczby skryptów języka Python uruchamianych na serwerze

W poniższym przykładzie przedstawiono skumulowaną liczbę wykonań skryptów zewnętrznych dla języka Python.

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

Zobacz także