sql >> Database >  >> RDS >> Sqlserver

SQL - Vraag om het IP-adres van de server

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 

De code hier geeft je het IP-adres;

Dit werkt voor een externe clientaanvraag voor SQL 2008 en nieuwer.

Als je Shared Memory-verbindingen hebt toegestaan, dan zal het uitvoeren van hierboven op de server zelf je

. geven
  • "Gedeeld geheugen" als de waarde voor 'net_transport', en
  • NULL voor 'local_net_address', en
  • '<local machine> ' wordt weergegeven in 'client_net_address'.

'client_net_address' is het adres van de computer waarvan het verzoek afkomstig is, terwijl 'local_net_address' de SQL-server is (dus NULL via Shared Memory-verbindingen), en het adres dat u aan iemand zou geven als ze de NetBios van de server niet kunnen gebruiken naam of FQDN om de een of andere reden.

Ik raad ten zeerste af om dit antwoord te gebruiken. Het inschakelen van de shell-out is een heel slecht idee op een productie-SQL Server.



  1. Upgrade MySQL naar MariaDB 10 (deel 2 – upgrade MariaDB/MySQL 5.5 naar versie 10.0)

  2. Easysoft ODBC-stuurprogramma's gebruiken met Informatica PowerCenter

  3. Optionele argumenten in WHERE-clausule

  4. Fout bij gebruik van een OLAP-verbinding:de MSOLAP-provider is niet geregistreerd op de lokale computer...