Compartir a través de


sys.dm_external_script_execution_stats

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores de Azure SQL Instancia administrada

Devuelve una fila por cada tipo de solicitud de script externo. Las solicitudes de script externo se agrupan según el lenguaje compatible del script externo. Se genera una fila para cada función de script externo registrada. Las funciones arbitrarias de script externo no se registran a menos que se envíen mediante un proceso primario, como rxExec.

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 R Services in SQL Server 2016, Machine Learning Services (R, Python) en SQL Server 2017 y versiones posteriores y Azure SQL Instancia administrada Machine Learning Services.

Nombre de la columna Tipo de datos Descripción
language nvarchar Nombre del lenguaje de script externo registrado. Cada script externo debe especificar el lenguaje en la solicitud de script para iniciar el iniciador asociado.
counter_name nvarchar Nombre de una función de script externo seleccionada. No admite valores NULL.
counter_value integer Número total de instancias que en que se ha llamado la función registrada de script externo en el servidor. Este valor es acumulativo, empezando por la hora en que se instaló la característica en la instancia de y no se puede restablecer.

Permisos

Para SQL Server 2019 (15.x) y versiones anteriores, requiere el permiso VIEW SERVER STATE en el servidor.

Para SQL Server 2022 (16.x) y versiones posteriores, requiere el permiso VIEW SERVER PERFORMANCE STATE en el servidor.

Los usuarios que ejecutan scripts externos deben tener el permiso adicional EXECUTE ANY EXTERNAL SCRIPT. Sin embargo, los administradores pueden usar esta DMV sin este permiso.

Comentarios

Esta DMV se proporciona para la telemetría interna, para supervisar el uso general de la nueva característica de ejecución de scripts externos proporcionada en SQL Server. El servicio de telemetría comienza cuando LaunchPad comienza e incrementa un contador basado en disco cada vez que se llama una función registrada de script externo.

Por lo general, los contadores de rendimiento solo son válidos siempre que el proceso que los genera esté activo. Por lo tanto, una consulta en una DMV no puede mostrar datos detallados para los servicios que han dejado de ejecutarse. Por ejemplo, si un iniciador ejecuta un script externo y los completa rápidamente, es posible que una DMV convencional no muestre ningún dato.

Por lo tanto, los contadores de los que realiza el seguimiento de esta DMV se mantienen en ejecución y el estado de sys.dm_external_script_requests se conserva mediante escrituras en disco, incluso si la instancia se apaga.

Valores de contador

En SQL Server 2016 (13.x), el único lenguaje externo admitido es R y las solicitudes de script externo se controlan mediante R Services (en base de datos). En SQL Server 2017 (14.x) y versiones posteriores, y en Azure SQL Instancia administrada, tanto R como Python son lenguajes externos compatibles y las solicitudes de script externo se controlan mediante Machine Learning Services.

Para R, esta DMV realiza un seguimiento del número de llamadas de R que se realizan en una instancia. Por ejemplo, si rxLinMod se llama a y se ejecuta en paralelo, el contador se incrementa en 1.

En el caso del lenguaje R, los valores del contador que aparecen en el campo counter_name representan los nombres de las funciones registradas de ScaleR. Los valores del campo counter_value representan los números acumulados de instancias de la función específica de ScaleR.

Para Python, esta DMV realiza un seguimiento del número de llamadas de Python que se realizan en una instancia.

El recuento comienza cuando la característica está instalada y habilitada en la instancia, y es acumulativa hasta que un administrador elimina o sobrescribe el estado que mantiene el estado. Por lo tanto, generalmente no es posible restablecer los valores de counter_value. Si desea supervisar el uso por sesión, tiempos calendario u otros intervalos, le recomendamos registrar los conteos en una tabla.

Registro de funciones de script externo en R

R admite scripts arbitrarios y la comunidad de R proporciona miles de paquetes, cada uno con sus propias funciones y métodos. Sin embargo, esta DMV supervisa solo las funciones de ScaleR instaladas con SQL Server 2016 (13.x) R Services.

El registro de estas funciones se realiza cuando se instala la característica y no se pueden agregar ni eliminar las funciones registradas.

Ejemplos

Visualización del número de scripts de R ejecutados en el servidor

En el ejemplo siguiente se muestra el número acumulado de ejecuciones de scripts externos para el lenguaje R.

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

Visualización del número de scripts de Python que se ejecutan en el servidor

En el ejemplo siguiente se muestra el número acumulado de ejecuciones de scripts externos para el lenguaje Python.

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

Consulte también