✅ はじめに
SQL Serverの接続トラブルやファイアウォール設定時に「今このインスタンスは何番ポートで待ち受けてるの?」と気になること、ありますよね。
GUIや構成マネージャーでも確認できますが、SQLクエリだけでサクッと調べたい!という場面も多いはず。 そんなときに便利なのが、sys.dm_exec_connections ビューです。
🔍 実行中のポートを確認するSQL
SELECT
local_net_address,
local_tcp_port
FROM
sys.dm_exec_connections
WHERE
session_id = @@SPID;
🧠 解説
| 列名 | 意味 |
|---|---|
local_net_address | SQL ServerがリッスンしているIPアドレス(0.0.0.0 の場合もあり) |
local_tcp_port | 実際に使われているTCPポート番号(これが知りたい情報!) |
@@SPIDは「現在のセッションID」を返すシステム関数。- このクエリを実行した自分の接続情報だけを絞り込んで表示します。
🧠 SQL Serverの標準ポート「1433」とは?
SQL Serverでは、既定インスタンス(default instance)がTCPポート1433を使って通信します。
特徴:
- クライアントアプリがSQL Serverに接続する際の標準ポート
- 動的ポートではなく、固定ポートとして設定されることが多い
- ファイアウォールで開放が必要な場合がある
セキュリティの注意点:
- ポート1433は広く知られているため、攻撃対象になりやすい
- 外部公開する場合は、以下の対策を検討しよう:
- ポート番号の変更(例:14330など)
- VPNやIP制限の導入
- SQL Serverのログイン制御と監査の強化
🛠 活用シーン
- ファイアウォール設定時:「このSQL Server、何番ポートで通信してるの?」
- 動的ポート使用時:構成マネージャーでは分かりにくい実際のポートを即確認
- 複数インスタンス運用時:どのインスタンスがどのポートかを把握したいとき
🧼 おわりに
sys.dm_exec_connections は、実行中の接続状況をリアルタイムで把握できる強力なツールです。 GUIに頼らず、SQLだけで完結できるのは、スクリプト化や自動化にも便利!
現場でのトラブル対応やポート調査に、ぜひ活用してみてくださいね!

コメント