Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL - Consulta para obter o endereço IP do servidor

SELECT  
   CONNECTIONPROPERTY('net_transport') AS net_transport,
   CONNECTIONPROPERTY('protocol_type') AS protocol_type,
   CONNECTIONPROPERTY('auth_scheme') AS auth_scheme,
   CONNECTIONPROPERTY('local_net_address') AS local_net_address,
   CONNECTIONPROPERTY('local_tcp_port') AS local_tcp_port,
   CONNECTIONPROPERTY('client_net_address') AS client_net_address 

O código aqui lhe dará o endereço IP;

Isso funcionará para uma solicitação de cliente remoto para SQL 2008 e mais recente.

Se você tiver conexões de memória compartilhada permitidas, a execução acima no próprio servidor fornecerá
  • "Memória Compartilhada" como o valor para 'net_transport' e
  • NULL para 'local_net_address' e
  • '<local machine> ' será mostrado em 'client_net_address'.

'client_net_address' é o endereço do computador que originou a solicitação, enquanto 'local_net_address' seria o servidor SQL (portanto, NULL em conexões de memória compartilhada) e o endereço que você daria a alguém se não puder usar o NetBios do servidor nome ou FQDN por algum motivo.

Eu aconselho fortemente contra o uso desta resposta. Habilitar o shell out é uma péssima ideia em um SQL Server de produção.