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アドレスを与えるでしょう。
これは、SQL2008以降へのリモートクライアント要求に対して機能します。
共有メモリ接続を許可している場合は、サーバー自体で上記を実行すると
- 「net_transport」の値としての「共有メモリ」、および
- 'local_net_address'の場合はNULL、および
- '
<local machine>
'は'client_net_address'に表示されます。
「client_net_address」はリクエストの発信元のコンピューターのアドレスですが、「local_net_address」はSQLサーバー(したがって共有メモリ接続ではNULL)であり、サーバーのNetBiosを使用できない場合に誰かに提供するアドレスです。何らかの理由で名前またはFQDN。
私はこの答えを使用しないよう強くアドバイスします。シェルアウトを有効にすることは、実稼働SQLServerでは非常に悪い考えです。