sys.dm_external_script_requests
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Instância Gerenciada de SQL do Azure
Retorna uma linha para cada conta de trabalho ativa que executa um script externo.
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 Serviços de Machine Learning (R, Python) no SQL Server 2017 e posterior, Serviços do R no SQL Server 2016 e Serviços de Machine Learning na Instância Gerenciada de SQL do Azure.
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
external_script_request_id | identificador exclusivo | ID do processo que enviou a solicitação de script externo. Isso corresponde à ID do processo conforme recebeu a instância SQL. |
linguagem | nvarchar | Palavra-chave que representa uma linguagem de script com suporte. |
degree_of_parallelism | int | Número que indica o número de processos paralelos que foram criados. Esse valor pode ser diferente do número de processos paralelos solicitados. |
external_user_name | nvarchar | A conta de trabalho do Windows na qual o script foi executado. |
Permissões
Requer VIEW SERVER STATE
permissão no servidor.
Observação
Os usuários que executam scripts externos devem ter a permissão EXECUTE ANY EXTERNAL SCRIPT
adicional , no entanto, esta DMV pode ser usada por administradores sem essa permissão.
Permissões do SQL Server 2022 e posteriores
É necessária a permissão VIEW SERVER PERFORMANCE STATE no servidor.
Comentários
Esta exibição pode ser filtrada usando o identificador de linguagem de script.
A exibição também retorna a conta de trabalho na qual o script está sendo executado. Para obter informações sobre contas de trabalho usadas pelos scripts externos, consulte a seção Identidades usadas no processamento (SQLRUserGroup) em Visão geral de segurança para a estrutura de extensibilidade nos Serviços de Machine Learning do SQL Server.
O GUID retornado no campo external_script_request_id também representa o nome do arquivo do diretório seguro no qual os arquivos temporários são armazenados. Cada conta de trabalho, como MSSQLSERVER01, representa um único logon do SQL ou usuário do Windows e pode ser usada para executar várias solicitações de script. Por padrão, esses arquivos temporários são removidos após a conclusão do script solicitado.
Essa DMV monitora apenas os processos ativos e não pode relatar scripts que já foram concluídos. Se você precisar controlar a duração de scripts, recomendamos que você adicione informações de tempo no script e capture-o como parte da execução do script.
Exemplos
Visualizando os scripts ativos no momento para um processo específico
O exemplo a seguir exibe o número de execuções de script externo executadas na instância atual.
SELECT external_script_request_id
, [language]
, degree_of_parallelism
, external_user_name
FROM sys.dm_external_script_requests;
Resultados
external_script_request_id | linguagem | degree_of_parallelism | external_user_name |
---|---|---|---|
183EE6FC-7399-4318-AA2E-7A6C68E435A8 | R | 1 | MSSQLSERVER01 |