terça-feira, 9 de outubro de 2012

Relação de IPs e Conexões - SQLServer 2005, 2008 e R2

Em algumas situações temos a necessidade de descobrir o que determinado Endereço IP (Internet Protocol) esta realizando em nossa rede, como também, que recursos e aplicações este IP está fazendo troca de dados como Microsoft SQL Server.
O código utilizado para esta dica vai muito, além disso, ele nos possibilita obter o seguinte conjunto de informações:
  • Endereço IP;
  • Aplicação, Recurso e Processo;
  • Hostname da Estação de Trabalho, Máquina Local ou Servidor; e
  • Logins Conectados.
Relação de IPs conectados ao SQL Server
SELECT  ec.client_net_address, es.[program_name], es.[host_name], es.login_name
FROM sys.dm_exec_sessions AS es INNER JOIN sys.dm_exec_connections AS ec                                                           ON es.session_id = ec.session_id
ORDER BY ec.client_net_address,  es.[program_name];
Como podemos observar, o código é bastante simples, fazendo uso de duas DMV: Visões de Gerenciamento Dinâmico:
  • Sys.dm_exec_sessions: Retorna uma linha por sessão autenticada no SQL Server. Trata-se de uma exibição de escopo de servidor que mostra informações sobre todas as conexões de usuário ativas e tarefas internas..
  • Sys.dm_exec_connections: Retorna informações sobre as conexões estabelecidas com esta instância do SQL Server e os detalhes de cada conexão.
Observação: A coluna Client_net_address, apresenta a lista de Endereços IP, quando for retornado nesta coluna o valor <local machine>, isso indica que o recurso, aplicação ou conexão esta sendo executada na mesma máquina ou instância em que o Código 1 esta sendo processado.
Figura 1 apresentada abaixo, ilustra o conjunto de informações retornadas após a execução do Código 1.

Nenhum comentário:

Postar um comentário