Condividi tramite


sys.dm_external_script_requests

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

Restituisce una riga per ogni account di lavoro attivo che esegue uno script esterno.

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 Machine Learning Services (R, Python) in SQL Server 2017 e versioni successive, R Services in SQL Server 2016 e Machine Learning Services in Istanza gestita di SQL di Azure.

Nome colonna Tipo di dati Descrizione
external_script_request_id identificatore univoco ID del processo che ha inviato la richiesta di script esterni. Corrisponde all'ID del processo ricevuto dall'istanza di SQL.
lingua nvarchar Parola chiave che rappresenta un linguaggio di scripting supportato.
degree_of_parallelism int Numero che indica il numero di processi paralleli che sono stati creati. Questo valore potrebbe essere diverso dal numero di processi paralleli che sono stati richiesti.
external_user_name nvarchar Account di lavoro di Windows con cui è stato eseguito lo script.

Autorizzazioni

È richiesta VIEW SERVER STATE l'autorizzazione per il server.

Nota

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

Autorizzazioni per SQL Server 2022 e versioni successive

È richiesta l'autorizzazione VIEW SERVER PERFORMANCE STATE nel server.

Osservazioni:

Questa vista può essere filtrata usando l'identificatore del linguaggio di scripting.

La vista restituisce anche l'account di lavoro con cui viene eseguito lo script. Per informazioni sugli account di lavoro usati dagli script esterni, vedere la sezione Identità usate nell'elaborazione (SQLRUserGroup) in Panoramica della sicurezza per il framework di estendibilità in Machine Learning Services per SQL Server.

Il GUID restituito nel campo external_script_request_id rappresenta anche il nome file della directory protetta in cui vengono archiviati i file temporanei. Ogni account di lavoro, ad esempio MSSQLSERVER01, rappresenta un singolo account di accesso SQL o un utente di Windows e può essere usato per eseguire più richieste di script. Per impostazione predefinita, la pulizia di questi file temporanei viene eseguita dopo il completamento dello script richiesto.

Questa DMV monitora solo i processi attivi e non può segnalare gli script che sono già stati completati. Se è necessario tenere traccia della durata degli script, è consigliabile aggiungere le informazioni sulla misurazione del tempo nello script e acquisire tali informazioni come parte dell'esecuzione dello script.

Esempi

Visualizzazione degli script attualmente attivi per un processo specifico

L'esempio seguente visualizza il numero di esecuzioni dello script esterno completate nell'istanza corrente.

SELECT external_script_request_id
  , [language]
  , degree_of_parallelism
  , external_user_name
FROM sys.dm_external_script_requests;

Risultati

external_script_request_id lingua degree_of_parallelism external_user_name
183EE6FC-7399-4318-AA2E-7A6C68E435A8 R 1 MSSQLSERVER01

Vedi anche