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:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Endpoint de análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de dados SQL no Microsoft Fabric
Devolve informações sobre as ligações estabelecidas a esta instância do motor da base de dados e os detalhes de cada ligação. Devolve informação de ligação a nível de servidor para SQL Server e Azure SQL Managed Instance. Devolve informação de ligação para a base de dados atual na Azure SQL Database. Devolve informação de ligação para todas as bases de dados no mesmo pool elástico para bases de dados em pools elásticos no Azure SQL Database.
Observação
Para chamar isto a partir de pool SQL dedicado no Azure Synapse Analytics ou Analytics Platform System (PDW), veja sys.dm_pdw_exec_connections (Transact-SQL). Para pool SQL serverless ou Microsoft Fabric use sys.dm_exec_connections.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
| identificador_de_sessão | int | Identifica a sessão associada a esta ligação. É anulável. |
| most_recent_session_id | int | Representa o ID da sessão para o pedido mais recente associado a esta ligação. (As ligações SOAP podem ser reutilizadas por outra sessão.) É anulável. |
| connect_time | datetime | Carimbo temporal em que a ligação foi estabelecida. Não é anulável. |
| net_transport | Nvarchar (40) | Quando o MARS é utilizado, devolve Session para cada ligação adicional associada a uma sessão lógica MARS. Nota: Descreve o protocolo físico de transporte utilizado por esta ligação. Não é anulável. |
| protocol_type | Nvarchar (40) | Especifica o tipo de protocolo da carga útil. Atualmente, distingue entre TDS ("TSQL"), "SOAP" e "Espelhamento de Base de Dados". É anulável. |
| protocol_version | int | Versão do protocolo de acesso a dados associada a esta ligação. É anulável. |
| endpoint_id | int | Um identificador que descreve que tipo de ligação é. Isto endpoint_id pode ser usado para consultar a sys.endpoints vista. É anulável. |
| encrypt_option | Nvarchar (40) | Valor booleano para descrever se a encriptação está ativada para esta ligação. Não é anulável. Para endpoints de espelhamento HADR, esta coluna devolve sempre FALSE. Use antes o sys.database_mirroring_endpoints IMT para verificar se as ligações a um endpoint de espelhamento HADR estão encriptadas. |
| auth_scheme | Nvarchar (40) | Especifica o esquema de autenticação SQL Server/Windows usado com esta ligação. Não é anulável. |
| node_affinity | smallint | Identifica o nó de memória ao qual esta ligação tem afinidade. Não é anulável. |
| num_reads | int | Número de leituras de bytes que ocorreram nesta ligação. É anulável. |
| num_writes | int | Número de escritas em bytes que ocorreram nesta ligação. É anulável. |
| last_read | datetime | Carimbo temporal em que a última leitura ocorreu através desta ligação. É anulável. |
| last_write | datetime | Carimbo temporal em que ocorreu a última escrita nesta ligação. É anulável. |
| net_packet_size | int | Tamanho do pacote de rede usado para transferência de informação e dados. É anulável. |
| client_net_address | Varchar (48) | Endereço do host do cliente que se liga a este servidor. É anulável. |
| client_tcp_port | int | Número de porta no computador cliente associado a esta ligação. É anulável. No Azure SQL Database, esta coluna devolve sempre NULL. |
| local_net_address | Varchar (48) | Representa o endereço IP do servidor que esta ligação visou. Disponível apenas para ligações que utilizem o fornecedor de transporte TCP. É anulável. No Azure SQL Database, esta coluna devolve sempre NULL. |
| local_tcp_port | int | Representa a porta TCP do servidor que esta ligação visava se fosse uma ligação usando o transporte TCP. É anulável. No Azure SQL Database, esta coluna devolve sempre NULL. |
| connection_id | uniqueidentifier | Identifica cada conexão exclusivamente. Não é anulável. |
| parent_connection_id | uniqueidentifier | Identifica a ligação principal que a sessão MARS está a usar. É anulável. |
| most_recent_sql_handle | varbinary(64) | O handle SQL do último pedido foi executado nesta ligação. A most_recent_sql_handle coluna está sempre sincronizada com a most_recent_session_id coluna. É anulável. |
| 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.
Nos objetivos de serviço do Banco de Dados SQL do Azure Basic, S0 e S1 , e para bancos de dados em pools elásticos, é necessária a conta de administrador do servidor , a conta de administrador do Microsoft Entra ou a associação à ##MS_ServerStateReader##função de servidor . 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.
Ligações físicas
Cardinalidades de relacionamento
| Primeiro elemento | Segundo elemento | Relacionamento |
|---|---|---|
sys.dm_exec_sessions.session_id |
sys.dm_exec_connections.session_id |
Um para zero ou um para muitos |
sys.dm_exec_requests.connection_id |
sys.dm_exec_connections.connection_id |
Muitos para um |
sys.dm_broker_connections.connection_id |
sys.dm_exec_connections.connection_id |
One-to-one |
Mais frequentemente, para cada linha em sys.dm_exec_connections existe uma única linha correspondente em sys.dm_exec_sessions. No entanto, em alguns casos, como sessões internas do sistema ou procedimentos de ativação do Service Broker , pode haver uma linha em sys.dm_exec_sessions sem uma linha correspondente em sys.dm_exec_connections.
Quando o MARS é utilizado, pode haver várias linhas para sys.dm_exec_connections uma linha em sys.dm_exec_sessions, uma linha para a ligação pai e uma linha para cada sessão lógica do MARS. Estas últimas linhas podem ser identificadas pelo valor na net_transport coluna definido como Sessão. Para estas ligações, o valor na connection_id coluna de sys.dm_exec_connections corresponde ao valor na connection_id coluna de sys.dm_exec_requests para pedidos MARS em progresso.
Examples
A seguinte Transact-SQL consulta recolhe informações sobre a ligação da própria consulta.
SELECT
c.session_id, c.net_transport, c.encrypt_option,
c.auth_scheme, s.host_name, s.program_name,
s.client_interface_name, s.login_name, s.nt_domain,
s.nt_user_name, s.original_login_name, c.connect_time,
s.login_time
FROM sys.dm_exec_connections AS c
JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE c.session_id = @@SPID;
Próximos passos
Saiba mais sobre conceitos relacionados nos seguintes artigos: