|
2004年4月22日
『データベースの運用状況を把握しよう』
データベースは、開発したら終わりではありません。むしろ、開発が終わってから、本当の作業が始まるともいえます。運用管理という業務です。
MSDE で運用を行っているデータベースでも、メンテナンスフリーで運用を続けるとパフォーマンスが落ちたり、様々なトラブルが発生します。このような問題を事前に回避するためにも、MSDE だからメンテナンスフリーで良いとは考えずに、SQL Server と同様に、こまめにデータベースを監視することが大事です。
もちろん、顧客先の小規模データベースを監視することは、予算やマンパワー等の問題からも、なかなかできることではないかもしれません。そのような場合は、運用状態の基本的な状況を、管理者にメール送信で伝えるようにするだけでも、事前に異常状態を回避することができます。
データベースの基本的な数値を取得する方法は、簡単な SQL 文やストアドプロシージャなどを使って行うことができます。
データベースの DISK の使用領域などに関する情報は、sp_spaceused システムストアドプロシージャを実行します。
SQL 文の
select ceiling((sum(size) * (8192.0/1024.0)) / 1024.0) from dbo.sysfiles
を実行しても、MByte 単位で、同じような情報が得られます。
データベースを構成する物理ファイルの使用状況を把握したいときは、
select
convert(float,size) * 8192/1024/1024 AS [ファイルサイズ(MB)] ,
FILEPROPERTY(file_name(fileid),'SpaceUsed')*8192.0/1024.0/1024.0 AS [使用領域(MB)]
(FILEPROPERTY(file_name(fileid),'SpaceUsed')*8192.0/1024.0/1024.0)
/(convert(float,size) * 8192/1024/1024) * 100 as [使用率(%)]
from dbo.sysfiles
の SQL 文を実行すると得られます。物理ファイルサイズとその使用率を把握します。
トランザクションログファイルの使用状況を簡単に把握するときは、
DBCC SQLPERF(LOGSPACE)
の命令を実行すると得られます。
使用領域の大きさが、% 単位で報告されるので、80% や 90% になったら、そろそろトランザクションログファイルの切捨てや圧縮などのメンテナンスが必要になるかな? と判断することができます。
このような基本的な命令を定期的に実行するだけでも、データベースの運用状態をかなり正確に把握することができます。
ぜひ、データベースの運用管理に役立てて下さい。
|