sys.dm_external_script_execution_stats

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

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 de script externo arbitrarias no se registran a menos que un proceso primario lo envíe, 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 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 Managed Instance 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 sys.dm_external_script_requests de se conserva mediante escrituras en el disco, incluso si la instancia está apagada.

Valores de contador

En SQL Server 2016 (13.x), el único lenguaje externo admitido es R y R Services (en base de datos) controla las solicitudes de script externo. En SQL Server 2017 (14.x) y versiones posteriores, y en Azure SQL Managed Instance, 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 realizadas en una instancia. Por ejemplo, si rxLinMod se llama a y se ejecuta en paralelo, el contador aumenta 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 realizadas 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. Por lo tanto, generalmente no es posible restablecer los valores en 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 que se instalan con SQL Server 2016 (13.x) R Services.

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

Ejemplos

Ver el 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 ejecutados en el servidor

En el ejemplo siguiente se muestra el número acumulativo 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