sql >> Databasteknik >  >> RDS >> Sqlserver

SQL - Fråga för att få serverns IP-adress

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 

Koden här ger dig IP-adressen;

Detta kommer att fungera för en fjärrklientbegäran till SQL 2008 och nyare.

Om du har delade minnesanslutningar tillåtna, kommer körning ovanför på själva servern att ge dig

  • "Delat minne" som värdet för 'net_transport' och
  • NULL för 'local_net_address' och
  • ' ' kommer att visas i 'client_net_address'.

'client_net_address' är adressen till datorn som begäran härrör från, medan 'local_net_address' skulle vara SQL-servern (därmed NULL över delade minnesanslutningar), och adressen du skulle ge till någon om de inte kan använda serverns NetBios namn eller FQDN av någon anledning.

Jag avråder starkt från att använda detta svar. Att aktivera skalet är en mycket dålig idé på en produktions-SQL-server.



  1. MySQL CEILING() Funktion – Runda uppåt till närmaste heltal

  2. Oracle GROUP_CONCAT() ekvivalent

  3. MySQL Felaktigt datetime-värde:'0000-00-00 00:00:00'

  4. Hur kan jag låsa en tabell vid läsning med hjälp av Entity Framework?