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
Kode di sini Akan memberi Anda Alamat IP;
Ini akan berfungsi untuk permintaan klien jarak jauh ke SQL 2008 dan yang lebih baru.
Jika Anda memiliki koneksi Memori Bersama yang diizinkan, maka menjalankan di atas pada server itu sendiri akan memberi Anda
- "Memori Bersama" sebagai nilai untuk 'net_transport', dan
- NULL untuk 'local_net_address', dan
- '
<local machine>
' akan ditampilkan di 'client_net_address'.
'client_net_address' adalah alamat komputer asal permintaan, sedangkan 'local_net_address' akan menjadi server SQL (dengan demikian NULL melalui koneksi Memori Bersama), dan alamat yang akan Anda berikan kepada seseorang jika mereka tidak dapat menggunakan NetBios server nama atau FQDN untuk beberapa alasan.
Saya sangat menyarankan agar tidak menggunakan jawaban ini. Mengaktifkan shell out adalah ide yang sangat buruk pada produksi SQL Server.