Dela via


sys.dm_external_script_execution_stats

Gäller för: SQL Server 2016 (13.x) och senare versioner Av Azure SQL Managed Instance

Returnerar en rad för varje typ av extern skriptbegäran. Externa skriptbegäranden grupperas efter det externa skriptspråk som stöds. En rad genereras för varje registrerad extern skriptfunktion. Godtyckliga externa skriptfunktioner registreras inte om de inte skickas av en överordnad process, till exempel rxExec.

Anmärkning

Den här dynamiska hanteringsvyn (DMV) är endast tillgänglig om du har installerat och aktiverat funktionen som stöder körning av externa skript. Mer information finns i R Services i SQL Server 2016, Machine Learning Services (R, Python) i SQL Server 2017 och senare och Azure SQL Managed Instance Machine Learning Services.

Kolumnnamn Datatyp Description
language nvarchar Namnet på det registrerade externa skriptspråket. Varje externt skript måste ange språket i skriptbegäran för att starta den associerade startprogrammet.
counter_name nvarchar Namnet på en registrerad extern skriptfunktion. Är inte nullbar.
counter_value heltal Totalt antal instanser som den registrerade externa skriptfunktionen har anropats på servern. Det här värdet är kumulativt och börjar med tiden då funktionen installerades på instansen och kan inte återställas.

Permissions

För SQL Server 2019 (15.x) och tidigare versioner kräver VIEW SERVER STATE-behörighet på servern.

För SQL Server 2022 (16.x) och senare versioner krävs behörighet för VIEW SERVER PERFORMANCE STATE på servern.

Användare som kör externa skript måste ha den ytterligare behörigheten KÖR ALLA EXTERNA SKRIPT. Den här DMV:en kan dock användas av administratörer utan den här behörigheten.

Anmärkningar

Denna DMV tillhandahålls för intern telemetri för att övervaka den övergripande användningen av den nya funktionen för körning av externa skript som tillhandahålls i SQL Server. Telemetritjänsten startar när LaunchPad gör det och ökar en diskbaserad räknare varje gång en registrerad extern skriptfunktion anropas.

I allmänhet är prestandaräknare endast giltiga så länge processen som genererade dem är aktiv. Därför kan en fråga på en DMV inte visa detaljerade data för tjänster som har slutat köras. Om en startmotor till exempel kör ett externt skript och ändå slutför dem snabbt kanske en konventionell DMV inte visar några data.

Därför fortsätter de räknare som spåras av denna DMV att köras och tillståndet för sys.dm_external_script_requests bevaras med skrivningar till disk, även om instansen stängs av.

Räknarvärden

I SQL Server 2016 (13.x) är det enda externa språk som stöds R och externa skriptbegäranden hanteras av R Services (In-Database). I SQL Server 2017 (14.x) och senare versioner, och på Azure SQL Managed Instance, stöds både R och Python externa språk och externa skriptbegäranden hanteras av Machine Learning Services.

För R spårar denna DMV antalet R-anrop som görs på en instans. Om rxLinMod till exempel anropas och körs parallellt ökar räknaren med 1.

För R-språket representerar räknarvärdena som visas i fältet counter_name namnen på registrerade ScaleR-funktioner. Värdena i fältet counter_value representerar det kumulativa antalet instanser som den specifika ScaleR-funktionen.

För Python spårar denna DMV antalet Python-anrop som görs på en instans.

Antalet börjar när funktionen installeras och aktiveras på instansen och är kumulativ tills filen som underhåller tillståndet tas bort eller skrivs över av en administratör. Därför är det vanligtvis inte möjligt att återställa värdena i counter_value. Om du vill övervaka användningen per session, kalendertider eller andra intervall rekommenderar vi att du registrerar antalet i en tabell.

Registrering av externa skriptfunktioner i R

R stöder godtyckliga skript och R-communityn tillhandahåller tusentals paket, var och en med sina egna funktioner och metoder. Den här DMV:en övervakar dock endast ScaleR-funktionerna som är installerade med SQL Server 2016 (13.x) R Services.

Registreringen av dessa funktioner utförs när funktionen installeras och registrerade funktioner kan inte läggas till eller tas bort.

Examples

Visa antalet R-skript som körs på servern

I följande exempel visas det kumulativa antalet externa skriptkörningar för R-språket.

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

Visa antalet Python-skript som körs på servern

I följande exempel visas det kumulativa antalet externa skriptkörningar för Python-språket.

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

Se även