sys.dm_external_script_execution_stats

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Instância Gerenciada de SQL do Azure

Retorna uma linha para cada tipo de solicitação de script externo. As solicitações de script externo são agrupadas pela linguagem de script externo com suporte. Uma linha é gerada para cada função de script externo registrada. As funções de script externo arbitrário não são registradas, a menos que sejam enviadas por um processo pai, como rxExec.

Observação

Essa DMV (exibição de gerenciamento dinâmico) só estará disponível se você tiver instalado e habilitado o recurso que dá suporte à execução de script externo. Para obter mais informações, consulte R Services in SQL Server 2016, Machine Learning Services (R, Python) in SQL Server 2017 and later eInstância Gerenciada de SQL do Azure Machine Learning Services.

Nome da coluna Tipo de dados Descrição
language nvarchar Nome da linguagem de script externo registrada. Cada script externo deve especificar a linguagem na solicitação de script para iniciar o inicializador associado.
counter_name nvarchar Nome de uma função de script externo registrada. Não é anulável.
counter_value inteiro Número total de instâncias nas quais a função de script externo registrada foi chamada no servidor. Esse valor é cumulativo, começando com a hora em que o recurso foi instalado na instância e não pode ser redefinido.

Permissões

Para SQL Server 2019 (15.x) e versões anteriores, requer a permissão VIEW SERVER STATE no servidor.

Para SQL Server 2022 (16.x) e versões posteriores, requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Os usuários que executam scripts externos devem ter a permissão adicional EXECUTE ANY EXTERNAL SCRIPT. No entanto, essa DMV pode ser usada por administradores sem essa permissão.

Comentários

Essa DMV é fornecida para telemetria interna, para monitorar o uso geral do novo recurso de execução de script externo fornecido no SQL Server. O serviço de telemetria é iniciado quando o LaunchPad é iniciado e incrementa um contador baseado em disco sempre que uma função de script externo registrada é chamada.

Em geral, os contadores de desempenho são válidos somente enquanto o processo que os gerou está ativo. Portanto, uma consulta em uma DMV não pode mostrar dados detalhados para serviços que pararam de ser executados. Por exemplo, se um inicializador executar um script externo e ainda concluí-lo rapidamente, uma DMV convencional poderá não mostrar nenhum dado.

Portanto, os contadores rastreados por essa DMV são mantidos em execução e o estado de sys.dm_external_script_requests é preservado usando gravações no disco, mesmo que a instância seja desligada.

Valores de contador

No SQL Server 2016 (13.x), a única linguagem externa com suporte é r e as solicitações de script externo são tratadas pelo R Services (no banco de dados). No SQL Server 2017 (14.x) e versões posteriores e em Instância Gerenciada de SQL do Azure, tanto o R quanto o Python têm suporte em linguagens externas e as solicitações de script externo são tratadas pelos Serviços de Machine Learning.

Para R, essa DMV rastreia o número de chamadas R feitas em uma instância. Por exemplo, se rxLinMod for chamado e executado em paralelo, o contador incrementará em 1.

Na linguagem R, os valores de contador exibidos no campo counter_name representam os nomes das funções ScaleR registradas. Os valores do campo counter_value representam o número cumulativo de instâncias da função ScaleR específica.

Para Python, essa DMV rastreia o número de chamadas do Python feitas em uma instância.

A contagem começa quando o recurso é instalado e habilitado na instância e é cumulativo até que o arquivo que mantém o estado seja excluído ou substituído por um administrador. Portanto, geralmente não é possível redefinir os valores em counter_value. Se você desejar monitorar o uso por sessão, horários do calendário ou outros intervalos, recomendamos que você capture as contagens em uma tabela.

Registro de funções de script externo no R

O R dá suporte a scripts arbitrários e a comunidade do R fornece milhares de pacotes, cada um com suas próprias funções e métodos. No entanto, essa DMV monitora apenas as funções ScaleR instaladas com o SQL Server 2016 (13.x) R Services.

O registro dessas funções é executado quando o recurso é instalado e as funções registradas não podem ser adicionadas ou excluídas.

Exemplos

Exibir o número de scripts R executados no servidor

O exemplo a seguir exibe o número cumulativo de execuções de script externo da linguagem R.

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

Exibir o número de scripts Python executados no servidor

O exemplo a seguir exibe o número cumulativo de execuções de script externo para a linguagem Python.

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

Confira também