Condividi tramite


sys.dm_external_script_execution_stats

Si applica a: SQL Server 2016 (13.x) e versioni successive Istanza gestita di SQL di Azure

Restituisce una riga per ogni tipo di richiesta di script esterni. Le richieste di script esterni vengono raggruppate per il linguaggio di script esterno supportato. Viene generata una riga per ogni funzione script esterna registrata. Le funzioni di script esterni arbitrarie non vengono registrate a meno che non vengano inviate da un processo padre, ad esempio rxExec.

Nota

Questa dmv (Dynamic Management View) è disponibile solo se è stata installata e abilitata la funzionalità che supporta l'esecuzione di script esterni. Per altre informazioni, vedere R Services in SQL Server 2016, Machine Learning Services (R, Python) in SQL Server 2017 e versioni successive e Istanza gestita di SQL di Azure Machine Learning Services.

Nome colonna Tipo di dati Descrizione
language nvarchar Nome del linguaggio di script esterni registrato. Ogni script esterno deve specificare il linguaggio della richiesta di script per usare l'utilità di avvio associata.
counter_name nvarchar Nome di una funzione di script esterni registrata. Non è nullable.
counter_value integer Numero totale di istanze chiamate dalla funzione di script esterni registrata nel server. Questo valore è cumulativo, a partire dal momento in cui la funzionalità è stata installata nell'istanza e non può essere reimpostata.

Autorizzazioni

Per SQL Server 2019 (15.x) e versioni precedenti, è richiesta l'autorizzazione VIEW SERVER STATE per il server.

Per SQL Server 2022 (16.x) e versioni successive, è richiesta l'autorizzazione VIEW SERVER PERFORMANCE STATE nel server.

Gli utenti che eseguono script esterni devono disporre dell'autorizzazione aggiuntiva EXECUTE ANY EXTERNAL SCRIPT. Tuttavia, questa DMV può essere usata dagli amministratori senza questa autorizzazione.

Osservazioni:

Questa DMV viene fornita per i dati di telemetria interni, per monitorare l'utilizzo complessivo della nuova funzionalità di esecuzione di script esterni fornita in SQL Server. Il servizio di telemetria viene avviato insieme al LaunchPad e viene incrementato di un contatore basato su disco ogni volta che viene chiamata una funzione di script esterni registrata.

In generale, i contatori delle prestazioni sono validi solo se il processo che li ha generati è attivo. Pertanto, una query su una DMV non può visualizzare dati dettagliati per i servizi che hanno interrotto l'esecuzione. Ad esempio, se un utilità di avvio esegue script esterni e li completa rapidamente, una DMV convenzionale potrebbe non mostrare dati.

Di conseguenza, i contatori rilevati da questa DMV vengono mantenuti in esecuzione e lo stato per sys.dm_external_script_requests viene mantenuto usando le scritture su disco, anche se l'istanza viene arrestata.

Valori dei contatori

In SQL Server 2016 (13.x), l'unico linguaggio esterno supportato è R e le richieste di script esterni vengono gestite da R Services (In-Database). In SQL Server 2017 (14.x) e versioni successive e in Istanza gestita di SQL di Azure, sia R che Python sono linguaggi esterni supportati e le richieste di script esterni vengono gestite da Machine Learning Services.

Per R, questa DMV tiene traccia del numero di chiamate R effettuate in un'istanza di . Ad esempio, se rxLinMod viene chiamato ed eseguito in parallelo, il contatore viene incrementato di 1.

Per il linguaggio R, i valori del contatore visualizzati nel campo counter_name rappresentano i nomi delle funzioni ScaleR registrate. I valori del campo counter_value rappresentano il numero complessivo di istanze per la funzione ScaleR specifica.

Per Python, questa DMV tiene traccia del numero di chiamate Python effettuate in un'istanza di .

Il conteggio inizia quando la funzionalità viene installata e abilitata nell'istanza e viene cumulativa fino a quando il file che mantiene lo stato non viene eliminato o sovrascritto da un amministratore. Pertanto, in genere non è possibile reimpostare i valori in counter_value. Per monitorare l'utilizzo in base alla sessione, ai tempi del calendario o ad altri intervalli, si consiglia di acquisire i conteggi in una tabella.

Registrazione di funzioni script esterne in R

R supporta script arbitrari e la community di R fornisce migliaia di pacchetti, ognuno con funzioni e metodi personalizzati. Tuttavia, questa DMV monitora solo le funzioni ScaleR installate con SQL Server 2016 (13.x) R Services.

La registrazione di queste funzioni viene eseguita quando viene installata la funzionalità e le funzioni registrate non possono essere aggiunte o eliminate.

Esempi

Visualizzare il numero di script R eseguiti nel server

L'esempio seguente visualizza il numero complessivo di esecuzioni di script esterni per il linguaggio R.

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

Visualizzare il numero di script Python eseguiti nel server

Nell'esempio seguente viene visualizzato il numero cumulativo di esecuzioni di script esterni per il linguaggio Python.

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

Vedi anche