連載
» 2022年05月09日 05時00分 公開

Azure SQL Databaseサーバで実行されたデータベース操作の一覧を出力するSQL Server動的管理ビューレファレンス(108)

「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は、Azure SQL Databaseサーバで実行されたデータベース操作の一覧を出力する方法について解説します。

[伊東敏章,@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

SQL Server動的管理ビュー一覧

 本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。今回は動的管理ビュー「sys.dm_operation_status」における、Azure SQL Databaseサーバで実行されたデータベース操作の一覧を出力する方法について解説します。対応バージョンは、Azure SQL Database Azure SQL Managed Instanceです。

概要

 Azure SQL Databaseを作成するには、先にSQL Databaseサーバを作成して、SQL Databaseサーバ内にSQL Databaseを作成する必要があります。

 「sys.dm_operation_status」動的管理ビューを使用すると、データベースの作成や削除、サービスレベル、パフォーマンスレベルの変更などの、SQL Databaseサーバに対して実行された下記の操作の一覧と、操作のステータスについての情報を出力できます。

  • データベースの作成
  • データベースのコピー
  • データベースの変更
  • パフォーマンスレベルの変更
  • データベースのサービス層の変更
  • Geoレプリケーションの構成
  • Geoレプリケーションの削除
  • データベースの復元
  • データベースの削除

出力内容

列名 データ型 説明
session_activity_id uniqueidentifier 操作のID
resource_type int 操作が実行されるリソースの種類
 「0」=SQL Database
resource_type_desc nvarchar(2048) 操作が実行される対象のリソースの種類の説明
major_resource_id sql_variant 操作が実行される対象のSQL Database名
minor_resource_id sql_variant 内部使用専用
operation nvarchar(60) CREATEやALTERなど、SQL Databaseに対して実行される操作の種類
state tinyint 操作の状態
 「0」=保留
 「1」=実行中
 「2」=完了
 「3」=失敗
 「4」=取り消し
state_desc nvarchar(120) 操作の状態の説明
 PENDING=操作はリソースまたはクオータが利用可能になるのを待機
 IN_PROGRESS=操作が開始され、進行中
 COMPLETED=操作が正常に完了
 FAILED=操作が失敗
 CANCELLED=ユーザーの要求によって操作が停止
percent_complete int 操作が完了した割合(%)
値は連続しておらず、有効な値は以下の一覧
 「0」=操作は開始されていない
 「50」=操作が進行中
 「100」=操作の完了
error_code int 失敗した操作中に発生したエラーを示すコード
操作が正常に完了した場合は「0」
error_desc nvarchar(2048) 失敗した操作中に発生したエラーの説明
error_severity int 失敗した操作中に発生したエラーの重大度レベル
error_state int 将来利用するために予約されている
start_time datetime 操作が開始されたタイムスタンプ
last_modify_time datetime 実行に時間のかかる操作において、レコードが最後に更新されたときのタイムスタンプ
操作が正常に完了した場合、操作が完了したときのタイムスタンプ

動作例

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。