SQL Server 2008 でアクティブな接続を確認
SQL Server のアクティブな接続を確認する方法
SQL Server Management Studio (SSMS) の利用状況モニター
SSMS は、SQL Server を管理するための無料ツールです。 利用状況モニターは、SSMS に含まれるツールで、サーバーの現在の状態に関する情報を提供します。 アクティブな接続を確認するには、以下の手順に従います。
- SSMS を起動し、接続する SQL Server インスタンスを選択します。
- オブジェクト エクスプローラーで、「管理」 フォルダを展開し、「利用状況モニター」 を選択します。
- 利用状況モニター ウィンドウで、「セッション」 タブを選択します。
- このタブには、現在接続されているすべてのセッションに関する情報が表示されます。
動的管理ビュー (DMV)
DMV は、SQL Server の内部状態に関する情報を提供する特殊な種類のテーブルです。 アクティブな接続を確認するには、以下の DMV を使用できます。
- sys.dm_exec_connections - すべての現在の接続に関する情報を提供します。
- sys.dm_tran_session_list - 現在のトランザクションを持つすべてのセッションに関する情報を提供します。
これらの DMV を使用するには、Transact-SQL (T-SQL) クエリを実行する必要があります。 以下は、sys.dm_exec_connections を使用してアクティブな接続をすべて表示するクエリの例です。
SELECT *
FROM sys.dm_exec_connections;
拡張ストアド プロシージャ
いくつかのサードパーティ ベンダーは、アクティブな接続に関する情報を表示するための拡張ストアド プロシージャを提供しています。 これらのプロシージャは、DMV よりも使いやすく、追加情報を提供する場合があります。
ログ
SQL Server エラー ログには、接続に関する情報を含む、さまざまなイベントが記録されます。 ログを分析することで、接続の問題を特定することができます。
パフォーマンス モニター
パフォーマンス モニターは、Windows のツールで、SQL Server のパフォーマンスに関する情報を提供します。 アクティブな接続数を監視するには、「SQL Server:接続」 オブジェクトを使用できます。
SELECT
session_id,
login_time,
client_net_address,
database_name,
login_name,
status
FROM sys.dm_exec_connections;
SELECT
session_id,
login_time,
client_net_address,
database_name,
login_name,
transaction_begin_time,
last_tran_batch_start_time,
open_transactions,
xact_state
FROM sys.dm_tran_session_list;
SELECT
session_id,
login_time,
client_net_address,
database_name,
login_name,
user_name,
is_user_session
FROM sys.dm_user_sessions;
ログを使用する
SELECT
event_type,
message
FROM sys.messages
WHERE event_type IN (18, 19, 20, 21, 22);
- 「データ収集セット」 フォルダを展開し、「ユーザー定義」 を選択します。
- 「パフォーマンス モニター カウンターを追加」 をクリックします。
- 「パフォーマンス オブジェクト」 ボックスの一覧から 「SQL Server:接続」 を選択します。
- 「カウンター」 ボックスの一覧から 「アクティブな接続数」 を選択します。
- 「追加」 をクリックして、カウンターを追加します。
- 「OK」 をクリックして、パフォーマンス モニターを閉じます。
注意: 上記のコードは、SQL Server 2008 で動作します。他のバージョンの SQL Server では、コードが多少異なる場合があります。
SQL Server Profiler は、SQL Server への接続とアクティビティをトレースするためのツールです。 詳細な情報を提供しますが、使い方が複雑です。
WMI (Windows Management Instrumentation) は、Windows オペレーティング システムの管理に使用できるインターフェースです。 WMI を使用して、SQL Server のアクティブな接続に関する情報を取得することができます。
PowerShell は、Windows のタスクを自動化するために使用できるスクリプト言語です。 PowerShell を使用して、SQL Server のアクティブな接続に関する情報を取得することができます。
サードパーティ製ツール
注意: 上記の情報は参考用です。 詳細については、各方法のドキュメントを参照してください。
sql sql-server sql-server-2008