sql >> Databáze >  >> RDS >> Sqlserver

SQL - Dotaz k získání IP adresy serveru

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 

Zde uvedený kód vám poskytne IP adresu;

To bude fungovat pro požadavek vzdáleného klienta na SQL 2008 a novější.

Pokud máte povolená připojení ke sdílené paměti, spuštěním výše na samotném serveru získáte

  • "Shared Memory" jako hodnota pro 'net_transport' a
  • NULL pro 'local_net_address' a
  • '<local machine> ' se zobrazí v 'client_net_address'.

'client_net_address' je adresa počítače, ze kterého požadavek pochází, zatímco 'local_net_address' by byl SQL server (tedy NULL přes připojení sdílené paměti) a adresa, kterou byste dali někomu, pokud nemůže používat NetBios serveru. jméno nebo FQDN z nějakého důvodu.

Důrazně nedoporučuji tuto odpověď používat. Povolení shellu je na produkčním serveru SQL velmi špatný nápad.



  1. Extrahujte rok z data v PostgreSQL

  2. Vylepšená podpora pro paralelní statistické přestavby

  3. Jak vytvořit proceduru v Oracle SQL Developer?

  4. Oracle odstranění řádků z více tabulek