02版 2010年10月6日
初版 2009年9月15日
富士通株式会社
ServerView Console / Operations Manager for Windows用データベースログ肥大化について
この度、PCサーバPRIMERGYにおきまして、標準添付のハードウェア監視・管理ツール(ServerView Console / Operations Manager)の利用方法でシステム運用に影響があることが判明いたしました。以下の対応をさせて頂きますのでご理解を頂きますようお願いいたします。なお、PRIMERGY ダウンロード検索(対処ツール)に詳細情報を掲載しています。
現象
ServerViewdb_log.LDF データベースログファイルが肥大し、そのままお使いいただいた場合には、スローダウン / システムダウンを引き起こす場合があります。
対象機種
PRIMERGY ハードウェア監視・管理ツール(ServerView Console / Operations Manager for Windows)を利用の全機種
対象 SeverView Console バージョン
ServerView Console for Windows V4.52.08 / V4.52.09 / V4.61.04 / V4.61.05 / V4.61.06 / V4.71.11
ただし、V4.71.11.02は、対策済で対象外となります。
対象 SeverView Operations Manager バージョン
ServerView Operations Manager for Windows V4.80.15以降の全てのバージョン
発生条件
下記の発生環境で次の条件で発生します。
- SQLAgent$SQLSERVERVIEW サービスが停止している。
- SQLAgent$SQLSERVERVIEW サービスが正常に動作せず、定期メンテナンスジョブが動作していない。
- 定期メンテナンスジョブがサーバの停止時間にスケジュールされている。
【発生環境】
- ServerView Console のバージョン4.52.08 から 4.61.06、かつ、データベースにSQL Server 2005 Express Edition以外を使用している。
- ServerView Console のバージョン4.71.11 添付のWebサーバ(ServerView Web-Server)以外を使用しており、かつ、データベースにSQL Server 2005 Express Edition以外を使用している。
- ServerView Operations Managerのバージョン4.80.15から4.91.09かつ、データベースにMSDEおよびSQL Server 2005 Express Edition、SQL Server 2008 Express Edition以外を使用している。
- ServerView Operations Manager のバージョン4.92.11以降かつ、データベースにMSDEおよびSQL Server 2005 Express Edition、SQL Server 2008 Express Edition以外を使用しており、かつ、ServerView Operations Managerインストール時に、SQLサーババックアップモードで「完全」を選択していた場合。
4.52.08
4.52.09
4.52.09.024.61.04
4.61.05
4.61.064.71.11 4.71.11.02 4.80.15
4.81.05
4.81.05.024.91.09 4.92以降
(注1)SV-Web SV-Web
以外MSDE SQL Server 2000 SQL Server 2005 Express SQL Server 2005 SQL Server 2008 Express 未サポートです SQL Server 2008 未サポートです :発生環境ではありません
:発生環境です(注1)
SQLサーババックアップモードに「完全」を選択していた場合にのみ、発生環境になります。SQLサーババックアップモードに「標準」を選択していた場合には、いずれのデータベースを使用した場合も、発生環境にはなりません。ServerView Operations Manager V4.92.11以降のデフォルトではSQLサーババックアップモードは「標準」でインストールされます。また、ServerView Installation Manager(SVIM)を使ってServerView Operations Manager V4.92.11以降をインストールした場合も、SQLサーババックアップモードは「標準」でインストールされます。
原因
SQLAgent$SQLSERVERVIEWサービスが停止、または、異常動作などの理由で定期メンテナンスジョブが実行されていない場合、ログデータが定期的に格納されログファイル:ServerViewdb_log.LDFが肥大します。
対策:発生を未然に防止する方法
事象発生有無の確認方法
イベントログに出力されるメンテナンスジョブの実行結果が定期的に出力され、かつ「成功しました」のメッセージであることを確認します。
メッセージが定期的に出力されている場合には、対処の必要はありません。SQLAgent$SQLSERVERVIEW サービスが「開始」の状態のままで運用します。
イベントログ(アプリケーション)
ソース : SQLAgent$SQLSERVERVIEW
分類 : Job Engine
種類 : 情報
イベントID : 208
説明 : SQL Server Scheduled Job '<メンテナンスジョブ名>' (<16進数>)
- Status: 成功
- Invoked on: <実行開始時間>
- Message: ジョブは成功しました。
状況
- ログメンテナンスジョブのスケジュール開始時刻が、サーバの稼働時間である場合は、<対処>を実施します。
- ログメンテナンスジョブのうち、以下の2つの開始時刻が、サーバの停止時間の場合、<対処>を実施し、移行後、メンテナンスジョブの実行時間を調整します。
- JobServerViewDaily : 毎日19時に実行
- JobServerViewLongInterval : 毎週 月曜 9時に実行
対処
- メンテナンスジョブの実行を Task Schedulerに移行
- Task Schedulerでメンテナンスジョブを実行するように変更されたServerView Console 4.71.11.02 以降にバージョンアップする。
(注) ServerView Operations Manager 4.80.15以降、かつ、データベースにMSDEおよびSQL Server 2005 Express Edition、SQL Server 2008 Express Edition以外を使用している場合は、1の対処を行ってください。
対処:問題発生後の復旧方法
本方法で肥大したファイルを縮小してください。
その後、SQLAgent$SQLSERVERVIEW サービスを開始してください。縮小を実施しないまま、SQLAgent$SQLSERVERVIEW サービスを開始させるとメンテナンスを実施する作業領域を確保しようとしますので、ディスク枯渇がさらに進行し、システム停止に陥る場合があります。
(注意)
ServerView Operations Manager 4.92.11以降をお使いで、且つSQLサーババックアップモードに「標準」(SIMPLE)が設定されている場合、以下に記載の「dbcc_shrink.bat」は絶対に実行しないでください。
SQLサーババックアップモードが「標準」(SIMPLE)に設定されている場合、本事象は発生しません。
SQLサーババックアップモードが「標準」(SIMPLE)に設定された状態で、「dbcc_shrink.bat」を実行すると、SQLサーババックアップモードが「完全」(FULL)に変更され、その結果、本事象が発生する可能性があります。
肥大したファイルを縮小する方法
【事前作業】
ダウンロード検索からのダウンロードファイルを解凍すると、以下のスクリプトファイルが作成されます。
ファイル名 | 説明 |
---|---|
dbcc_shrink.bat | 下記のSQLスクリプトを実行するためのバッチファイルです。 |
dbcc_shrink.sql | トランザクションログファイルのサイズを切り詰めます。 |
【肥大したファイルの縮小作業】
サーバに管理者権限でログオンして、「事前作業」で解凍したバッチファイルを実行し、肥大したファイルを縮小します。
- dbcc_shrink.batをダブルクリックします。
- 『トランザクションログの圧縮を実行しますか?[Y/N] :』と表示されるので Y を入力し、Enterキーを押下します。
- 以下のように圧縮実行前後の ServerViewDB_log.LDF のファイルサイズが表示されるため、サイズが小さくなったことを確認してください。
圧縮実行前のファイルサイズ
YYYY/MM/DD hh:mm xxx,xxx,xxx ServerViewDB_log.LDF
トランザクションログの圧縮を実行中...
圧縮実行後のファイルサイズ
YYYY/MM/DD hh:mm xxx,xxx,xxx ServerViewDB_log.LDF - 処理が完了した旨のメッセージが表示されますので、Enterキーを押下してバッチを終了して下さい。
補足:実行時に %TEMP% 配下に当バッチのログファイル(dbcc_shrink_res.txt)が作成されます。バッチが失敗した場合など、ログを参照する必要がある場合は自動的に表示されます。また、このログは削除してもかまいません。
【注意事項】
以下の場合は本バッチを使ってログの圧縮ができません。
ServerView ConsoleおよびSQL Serverを再インストールする必要があります。
- トランザクションログファイルを削除してしまった。
- ServerView Console / Operations Managerをアンインストールしてしまった。
- ServerView Console / Operations ManagerまたはSQL Serverの一部のファイルが存在しない、または不正。
以下のように表示された場合は、SQL Serverのサービスが停止している可能性がありますので、サービスの状態を確認して下さい。
dbcc_shrink_res.txt
[DBMSLPCN]SQL Server が存在しないか、アクセスが拒否されました。
[DBMSLPCN]ConnectionOpen (Connect()).
その他
- トランザクションログファイルの肥大化が発生した場合に限り、この対処を実行してください。
- ServerView Console / Operations Managerに添付されているデータ管理用 MSDE / SQLServerはシステムドライブにインストールされます。
以上