sys.dm_external_script_requests

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores Azure SQL Managed Instance

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 obtener 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 Managed Instance.

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 SCRIPTadicional; sin embargo, los administradores pueden usar esta DMV sin este permiso.

Permisos para SQL Server 2022 y versiones posteriores

Requiere el permiso VIEW SERVER PERFORMANCE STATE en el servidor.

Observaciones

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, consulte 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

Consulte también