Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL - Запитване за получаване на IP адреса на сървъра

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 

Кодът тук ще ви даде IP адреса;

Това ще работи за отдалечена клиентска заявка към SQL 2008 и по-нови.

Ако имате разрешени връзки със споделена памет, тогава стартирането по-горе на самия сървър ще ви даде

  • „Споделена памет“ като стойност за „net_transport“ и
  • NULL за 'local_net_address' и
  • '<локална машина> ' ще се покаже в 'client_net_address'.

'client_net_address' е адресът на компютъра, от който произхожда заявката, докато 'local_net_address' ще бъде SQL сървърът (по този начин NULL през споделена памет) и адресът, който бихте дали на някого, ако не може да използва NetBios на сървъра име или FQDN по някаква причина.

Силно съветвам да не използвате този отговор. Активирането на обвивката е много лоша идея за производствен SQL сървър.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да предам sqlparameter на IN()?

  2. Как да изпълним директно SQL заявка в C#?

  3. Използване на условие if във вмъкнат SQL Server

  4. T-SQL Cast срещу Convert

  5. SQL:МЕЖДУ срещу <=и>=