連載
セッションの状態に関する情報を出力する:SQL Server動的管理ビューレファレンス(73)
「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は、セッションの状態に関する情報の出力について解説します。
本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。今回は動的管理ビュー「sys.dm_exec_sessions」における、セッションの状態に関する情報の出力について解説します。対応バージョンは、SQL Server(サポートされている全てのバージョン)です。
概要
「sys.dm_exec_requests」では、実行中の要求の一覧を出力できました。しかし、アプリケーション側で処理を実行しており、SQL Server側では何も処理をしていないような状態の情報は取得できませんでした。「sys.dm_exec_sessions」では、実行中であるかどうかにかかわらず、セッションの状態に関する情報を出力します。
出力内容
列名 | データ型 | 説明 |
---|---|---|
session_id | smallint | セッションID |
login_time | datetime | セッションが確立された時刻 |
host_name | nvarchar(128) | 接続元のホスト名 |
program_name | nvarchar(128) | 接続元のプログラム名 |
host_process_id | int | 接続元のプログラムのプロセスID |
client_version | int | 接続に使用されるTDSプロトコルのバージョン |
client_interface_name | nvarchar(32) | 接続に使用しているライブラリまたはドライバの名前 |
security_id | varbinary(85) | ログインに関連付けられたセキュリティID |
login_name | nvarchar(128) | ログイン名 |
nt_domain | nvarchar(128) | Windows認証の場合のドメイン名 |
nt_user_name | nvarchar(128) | Windows認証の場合のユーザー名 |
status | nvarchar(30) | セッションの状態。次のいずれかになる Running Sleeping Dormant Preconnect |
context_info | varbinary(128) | セッションのコンテキスト(CONTEXT_INFO)の値 |
cpu_time | int | CPU時間(ミリ秒単位) |
memory_usage | int | メモリ使用ページ数(8KB単位) |
total_scheduled_time | int | 実行予定時間の合計(ミリ秒単位) |
total_elapsed_time | int | 経過時間(ミリ秒単位) |
endpoint_id | int | エンドポイントのID |
last_request_start_time | datetime | 要求が最後に開始された時刻 |
last_request_end_time | datetime | 要求が最後に完了した時刻 |
reads | bigint | 読み取りの数 |
writes | bigint | 書き込みの数 |
logical_reads | bigint | 論理読み取りの数 |
is_user_process | bit | ユーザーセッションであるかどうかのフラグ |
text_size | int | TEXTSIZEの設定 |
language | nvarchar(128) | LANGUAGEの設定 |
date_format | nvarchar(3) | DATEFORMATの設定 |
date_first | smallint | DATEFIRSTの設定 |
quoted_identifier | bit | QUOTED_IDENTIFIERの設定 |
arithabort | bit | ARITHABORTの設定 |
ansi_null_dflt_on | bit | ANSI_NULL_DFLT_ONの設定 |
ansi_defaults | bit | ANSI_DEFAULTSの設定 |
ansi_warnings | bit | ANSI_WARNINGSの設定 |
ansi_padding | bit | ANSI_PADDINGの設定 |
ansi_nulls | bit | ANSI_NULLSの設定 |
concat_null_yields_null | bit | CONCAT_NULL_YIELDS_NULLの設定 |
transaction_isolation_level | smallint | トランザクション分離レベル。次のいずれかになる 「0」=Unspecified 「1」=ReadUncomitted 「2」=ReadCommitted 「3」=Repeatable 「4」=Serializable 「5」=Snapshot |
lock_timeout | int | LOCK_TIMEOUTの設定 |
deadlock_priority | int | DEADLOCK_PRIORITYの設定 |
row_count | bigint | 返された行数 |
prev_error | int | 最後に返されたエラーのID |
original_security_id | varbinary(85) | ログイン名に関連付けられたセキュリティID |
original_login_name | nvarchar(128) | ログイン名 |
last_successful_logon | datetime | 最後にログオンが成功した時間 |
last_unsuccessful_logon | datetime | 最後にログオンが失敗した時間 |
unsuccessful_logons | bigint | 最後にログオンが成功した時間とログオン時間の間にログオンが失敗した回数 |
group_id | int | ワークロードグループのID |
database_id | smallint | セッションの現在のデータベースのID |
authenticating_database_id | int | 認証するデータベースのID |
open_transaction_count | int | 開いているトランザクションの数 |
動作例
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- SQL Serverの動的管理ビューとは?
「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。 - 「DMV(Dynamic Management View)」でパフォーマンス遅延の「原因」を調べる
本連載は、「Microsoft SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「処理遅延の原因を追求する“DMVの使い方”」を説明します。 - SQL Serverの動きを制御する「トレースフラグ」とは何か
「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「トレースフラグ」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。初回は「トレースフラグとはそもそも何か」を解説します。