「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は、実行中の共通言語ランタイム(CLR)タスクに関する情報の出力について解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。今回は「sys.dm_clr_tasks」の、実行中の共通言語ランタイム(CLR)タスクに関する情報の出力について解説します。対応バージョンは、SQL Server 2008以降です。
CLR統合により作成されたオブジェクトを実行すると、CLR実行用のタスクが作成されます。「sys.dm_clr_tasks」を使用すると、実行中のCLRタスクの情報が出力されます。「sos_task_address」列や「appdomain_address」列が存在するため、以前に紹介した「sys.dm_clr_appdomains」などと結合させることで、他にも情報を参照できます。
列名 | データ型 | 説明 |
---|---|---|
task_address | varbinary(8) | CLRタスクのアドレス |
sos_task_address | varbinary(8) | 基になるTransact-SQLバッチタスクのアドレス |
appdomain_address | varbinary(8) | このタスクが実行されているアプリケーションドメインのアドレス |
state | nvarchar(128) | タスクの現在の状態 |
abort_state | nvarchar(128) | Abortされた際の状態 |
type | nvarchar(128) | タスクの種類 |
affinity_count | int | タスクの関係 |
forced_yield_count | int | タスクが強制的に解放された回数 |
Copyright © ITmedia, Inc. All Rights Reserved.