Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do
Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Banco de Dados SQL no Microsoft Fabric
Retorna uma lista de todos os threads do Sistema Operativo SQL Server que estão a correr sob o processo SQL Server.
Observação
Para chamar isto do Azure Synapse Analytics ou Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_os_threads. Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
| thread_address | varbinary(8) | Endereço de memória (Chave Primária) da thread. |
| started_by_sqlservr | bit | Indica o iniciador do thread. 1 = SQL Server iniciou a thread. 0 = Outro componente iniciou a thread, como um procedimento armazenado estendido dentro do SQL Server. |
| os_thread_id | int | ID do thread atribuído pelo sistema operativo. |
| estado | int | Bandeira de estado interna. |
| instruction_address | varbinary(8) | Endereço da instrução que está atualmente a ser executada. |
| creation_time | datetime | A altura em que este tópico foi criado. |
| kernel_time | bigint | Quantidade de tempo de kernel utilizada por este tópico. |
| usermode_time | bigint | Quantidade de tempo de utilizador que este tópico utiliza. |
| stack_base_address | varbinary(8) | Endereço de memória do endereço de pilha mais alto para este tópico. |
| stack_end_address | varbinary(8) | Endereço de memória do endereço de pilha mais baixo deste tópico. |
| stack_bytes_committed | int | Número de bytes que estão comprometidos na pilha. |
| stack_bytes_used | int | Número de bytes que estão a ser ativamente usados na thread. |
| afinidade | bigint | Máscara de CPU onde este tópico está a correr. Isto depende do valor configurado pela instrução ALTER SERVER CONFIGURATION SET PROCESS AFFINITY . Pode ser diferente do scheduler no caso de soft affinity. |
| Priority | int | Valor de prioridade deste tópico. |
| Localidade | int | LCID local cacheado para o tópico. |
| Símbolo | varbinary(8) | Handle de token de personificação em cache para a thread. |
| is_impersonating | int | Indica se este tópico está a usar a imitação do Win32. 1 = A thread está a usar credenciais de segurança diferentes do padrão do processo. Isto indica que o fio está a fazer-se passar por uma entidade diferente daquela que criou o processo. |
| is_waiting_on_loader_lock | int | Estado do sistema operativo sobre se a thread está à espera do bloqueio do loader. |
| fiber_data | varbinary(8) | Fibra Win32 atual que está a correr na thread. Isto só se aplica quando o SQL Server está configurado para pooling leve. |
| thread_handle | varbinary(8) | Apenas para uso interno. |
| event_handle | varbinary(8) | Apenas para uso interno. |
| scheduler_address | varbinary(8) | Endereço de memória do agendador associado a este thread. Para mais informações, consulte sys.dm_os_schedulers (Transact-SQL). |
| endereço_do_trabalhador | varbinary(8) | Endereço de memória do trabalhador que está ligado a este fio. Para mais informações, consulte sys.dm_os_workers (Transact-SQL). |
| fiber_context_address | varbinary(8) | Endereço de contexto interno da fibra. Isto só se aplica quando o SQL Server está configurado para pooling leve. |
| self_address | varbinary(8) | Apontador de consistência interna. |
| processor_group | smallint |
Aplica-se a: SQL Server 2008 R2 (10.50.x) e versões posteriores. ID do grupo do processador. |
| pdw_node_id | int |
Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW) O identificador do nó em que esta distribuição se encontra. |
Permissions
No SQL Server e na Instância Gerenciada do SQL, requer VIEW SERVER STATE permissão.
No Banco de Dados SQL Basic, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administrador do Microsoft Entra ou a associação aode função de servidor ##MS_ServerStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de dados SQL, é necessária a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader##.
Permissões para SQL Server 2022 e posterior
Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.
Notas sobre a versão Linux
Devido ao funcionamento do motor SQL no Linux, parte desta informação não corresponde aos dados de diagnóstico do Linux. Por exemplo, os_thread_id não corresponde ao resultado de ferramentas como ps,top ou os procfs (/proc/pid). Isto deve-se à Camada de Abstração de Plataforma (SQLPAL), uma camada entre os componentes do SQL Server e o sistema operativo.
Examples
No arranque, o SQL Server inicia threads e depois associa os trabalhadores a esses threads. No entanto, componentes externos, como um procedimento armazenado estendido, podem iniciar threads no processo SQL Server. O SQL Server não tem controlo sobre estes threads. sys.dm_os_threads pode fornecer informações sobre threads não autorizados que consomem recursos no processo SQL Server.
A consulta seguinte é usada para encontrar trabalhadores, juntamente com o tempo de execução, que estão a executar threads que não foram iniciados pelo SQL Server.
Observação
Para concisão, a consulta seguinte utiliza um asterisco (*) na SELECT afirmação. Deve evitar usar o asterisco (*), especialmente em visualizações de catálogo, vistas de gestão dinâmica e funções de tabela de sistema. Futuras atualizações e lançamentos do Microsoft SQL Server poderão adicionar colunas e alterar a ordem das colunas a estas vistas e funções. Estas alterações podem quebrar aplicações que exigem uma determinada ordem e número de colunas.
SELECT *
FROM sys.dm_os_threads
WHERE started_by_sqlservr = 0;
Consulte também
sys.dm_os_workers (Transact-SQL)
Exibições de gerenciamento dinâmico relacionadas ao sistema operacional SQL Server (Transact-SQL)