sys.dm_external_script_requests
Si applica a: SQL Server 2016 (13.x) e versioni successive 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 SCRIPT
aggiuntiva, 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 per il 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 |