sys.dm_external_script_requests
Se aplica a: SQL Server 2016 (13.x) y versiones posteriores de Azure SQL Instancia administrada
Devuelve una fila para cada cuenta de trabajo activa que ejecuta un script externo.
Nota:
Esta vista de administración dinámica (DMV) solo está disponible si ha instalado y habilitado la característica que admite la ejecución de scripts externos. Para más información, consulte Machine Learning Services (R, Python) en SQL Server 2017 y versiones posteriores, R Services en SQL Server 2016 y Machine Learning Services en Azure SQL Instancia administrada.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
external_script_request_id | identificador único | Identificador del proceso que envió la solicitud de script externo. Esto corresponde al identificador de proceso tal como se recibió la instancia de SQL. |
language | nvarchar | Palabra clave que representa un lenguaje de script compatible. |
degree_of_parallelism | int | Número que indica el número de procesos paralelos que se crearon. Este valor podría ser diferente del número de procesos paralelos que se solicitaron. |
external_user_name | nvarchar | La cuenta de trabajo de Windows bajo la que se ejecutó el script. |
Permisos
Requiere VIEW SERVER STATE
permiso en el servidor.
Nota:
Los usuarios que ejecutan scripts externos deben tener el permiso EXECUTE ANY EXTERNAL SCRIPT
adicional , pero los administradores pueden usar esta DMV sin este permiso.
Permisos para SQL Server 2022 y versiones posteriores
Requiere el permiso VER ESTADO DE RENDIMIENTO DEL SERVIDOR en el servidor.
Comentarios
Esta vista se puede filtrar usando el identificador del lenguaje de script.
La vista también devuelve la cuenta de trabajo en la que se ejecuta el script. Para obtener información sobre las cuentas de trabajo usadas por los scripts externos, vea la sección Identidades usadas en el procesamiento (SQLRUserGroup) en Información general de seguridad para el marco de extensibilidad en SQL Server Machine Learning Services.
El GUID que se devuelve en el campo external_script_request_id también representa el nombre de archivo del directorio seguro donde se almacenan los archivos temporales. Cada cuenta de trabajo, como MSSQLSERVER01, representa un único inicio de sesión de SQL o un usuario de Windows y puede usarse para ejecutar varias solicitudes de script. De forma predeterminada, estos archivos temporales se limpian tras la finalización del script.
Esta DMV supervisa solo los procesos activos y no puede informar sobre scripts que ya han completado. Si necesita realizar un seguimiento de la duración de scripts, es recomendable agregar información de tiempo en el script y capturar eso como parte de la ejecución del script.
Ejemplos
Visualización de los scripts activos actualmente para un proceso determinado
En el ejemplo siguiente se muestra el número de ejecuciones de scripts externos que tienen lugar en la instancia actual.
SELECT external_script_request_id
, [language]
, degree_of_parallelism
, external_user_name
FROM sys.dm_external_script_requests;
Results
external_script_request_id | language | degree_of_parallelism | external_user_name |
---|---|---|---|
183EE6FC-7399-4318-AA2E-7A6C68E435A8 | R | 1 | MSSQLSERVER01 |