連載
» 2019年03月29日 05時00分 公開

SQL Server動的管理ビューレファレンス(1):SQL Serverの動的管理ビューとは?

「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。

[椎名武史,@IT]

SQL Server動的管理ビュー一覧

 本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。今回は「動的管理ビュー」とは何かを解説します。

 連載『SQL Serverトラブルシューティング』では、「動的管理ビュー」や「DMV(Dynamic Management View)」と呼ばれる機能を紹介しています。

 動的管理ビューを使うと、SQL Serverの構成や設定の他、現在の状況や起動してからの累積値などさまざまな情報を確認できます。SQL Server 2008から実装されている機能のため、普段の運用で動的管理ビューを使用している方も多くいらっしゃると思います。

 しかし動的管理ビューにはさまざまな種類が存在するため、全種類を把握することはかなり難しいでしょう。本連載では実行結果の例なども紹介しながらSQL Server 2019までに実装されている動的管理ビューを紹介します。

 類似の情報を出力するものとして、関数で情報を出力する「動的管理関数」や「DMF(Dynamic Management Function)」と呼ばれる機能がありますが、本連載ではどちらも「動的管理ビュー」として扱います。

動的管理ビューを使う

 動的管理ビューはビューや関数の一部ですから、SELECT文を使用してデータを表示できます(図1)。

図1 FROM以下に動的管理ビューを指定して実行すると情報を出力する

 動的管理ビューを使用するには、VIEW SERVER STATE権限、またはVIEW DATABASE STATE権限が必要です。実行時に権限不足のエラー300やエラー297が発生した場合は、これらの権限を有効にする必要があります(図2)。

図2 権限不足によりエラー300とエラー297が発生したところ

 全ての動的管理ビューはsysスキーマに含まれています。sysスキーマを指定せずに実行するとエラー208が発生します。動的管理ビューを実行する際にはsysスキーマを忘れずに指定してください(図3)。

図3 sysスキーマを指定しなかったためエラー208が発生したところ

 構成や設定を確認するだけであれば、その場で実行すれば問題ありません。しかし、トラブルシューティングなどを目的にSQL Serverの内部変化を確認したい場合は、「GETDATE関数」を使用して時刻を出力しながら定期的に動的管理ビューを実行し、データベースやテキストファイルなどに結果を保存して、後から見返せるように実装しましょう。

筆者紹介

椎名 武史(しいな たけし)

日本ユニシス株式会社所属。Microsoft MVP for Data Platform(2017〜)。入社以来 SQL Serverの評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。SQL Serverのトラブル対応で社長賞の表彰を受けた経験も持つ。休日は学生時代の仲間と市民駅伝に参加し、銭湯で汗を流してから飲み会へと流れる。

伊東敏章(いとう としあき)

日本ユニシス株式会社所属。入社以来SQL Server一筋で評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。社内のプログラミングコンテストで4回の優勝経験も持つ。趣味は輪行で週末は自転車を持っての旅行。目標は色々な日本百選を制覇すること。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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