sql >> Base de Datos >  >> RDS >> Sqlserver

SQL:consulta para obtener la dirección IP del 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 

El código aquí le dará la dirección IP;

Esto funcionará para una solicitud de cliente remoto a SQL 2008 y posteriores.

Si tiene conexiones de memoria compartida permitidas, ejecutar arriba en el propio servidor le dará

  • "Memoria compartida" como el valor de 'net_transport', y
  • NULL para 'local_net_address', y
  • '<local machine> ' se mostrará en 'client_net_address'.

'client_net_address' es la dirección de la computadora desde la que se originó la solicitud, mientras que 'local_net_address' sería el servidor SQL (por lo tanto, NULL sobre las conexiones de memoria compartida), y la dirección que le daría a alguien si no puede usar el NetBios del servidor nombre o FQDN por alguna razón.

Recomiendo encarecidamente no usar esta respuesta. Habilitar el shell out es una muy mala idea en un SQL Server de producción.