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 her giver dig IP-adressen;
Dette vil fungere for en ekstern klientanmodning til SQL 2008 og nyere.
Hvis du har tilladt delte hukommelsesforbindelser, vil det at køre ovenover på selve serveren give dig
- "Delt hukommelse" som værdien for 'net_transport' og
- NULL for 'local_net_address' og
- '
' vil blive vist i 'client_net_address'.
'client_net_address' er adressen på den computer, som anmodningen stammer fra, hvorimod 'local_net_address' ville være SQL-serveren (altså NULL over Shared Memory-forbindelser), og den adresse, du ville give til nogen, hvis de ikke kan bruge serverens NetBios navn eller FQDN af en eller anden grund.
Jeg fraråder på det kraftigste at bruge dette svar. At aktivere shell-ud er en meget dårlig idé på en produktions-SQL-server.