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. Funções de script externas arbitrárias não são gravadas, a menos que sejam enviadas por um processo pai, como rxExec
.
Observação
Essa DMV (exibição de gerenciamento dinâmico) estará disponível somente se você tiver instalado e habilitado o recurso que dá suporte à execução de script externo. Para obter mais informações, consulte R Services no SQL Server 2016, Serviços de Machine Learning (R, Python) no SQL Server 2017 e posterior e Serviços de Machine Learning da Instância Gerenciada de SQL do Azure.
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, esse DMV pode ser usado 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 iniciador executa scripts externos e ainda os conclui rapidamente, uma DMV convencional pode não mostrar nenhum dado.
Portanto, os contadores rastreados por essa DMV são mantidos em execução e o estado for sys.dm_external_script_requests
é preservado usando gravações em disco, mesmo que a instância seja desligada.
Valores do contador
No SQL Server 2016 (13.x), a única linguagem externa com suporte é o 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 na Instância Gerenciada de SQL do Azure, há suporte para idiomas externos do R e do Python 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, if rxLinMod
é chamado e executado em paralelo, o contador é incrementado 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 o 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 é cumulativa 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 externas em R
O R dá suporte a scripts arbitrários e a comunidade 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 do 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 do 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';