シェルの Troubleshoot-DatabaseSpace.ps1 スクリプトを使用してデータベース ログ増加を管理する

 

適用先: Exchange Server 2010 SP2, Exchange Server 2010 SP3

トピックの最終更新日: 2016-11-28

Troubleshoot-DatabaseSpace.ps1 スクリプトは Microsoft System Center Operations Manager 2007 によって使用され、確認を行わないとデータベースのダウンタイムの原因となる可能性のある、過剰なログの増加または Microsoft Exchange データベース (.edb) ファイルの増加を検出して修正します。既定では、System Center Operations Manager 2007 はスクリプトを 15 分ごとに実行します。ただし、タスク スケジューラを使用して、このスクリプトを構成して実行し、データベースのログとファイルの増加を監視できます。

注意

スクリプトはそれが存在するフォルダーから実行する必要があります。既定では、Exchange 2010 と共にインストールされるスクリプトは、C:\Program Files\Microsoft\Exchange Server\V14\Scripts にインストールされます。シェルはスクリプトを自動的にロードしません。ローカル ファイルからスクリプトを実行するには、".</STRONG>" をすべてのスクリプトの前に付ける必要があります。たとえば、SampleScript.ps1 スクリプトを実行するには、.\SampleScript.ps1 と入力します。スクリプトを実行し、既定のインストール パスを指定するには、"C:\Program Files\Microsoft\Exchange Server\V14\Scripts\SampleScript.ps1" と入力します。詳細については、「Exchange 管理シェルを使用したスクリプトの作成」を参照してください。

Troubleshoot-DatabaseSpace.ps1 スクリプトは次の操作を実行します。

  1. データベースごとに最もログを生成する箇所のログ生成率を追跡します。これにより、過剰にログを生成して潜在的なディスク領域の問題の原因となっているユーザーを判別できます。

  2. データベースおよびログ ファイルの両方の利用可能なディスク領域を監視します。それらのいずれかが、いっぱいになろうとしている構成可能な、しきい値内の場合は、さらなる操作を実行する必要があります。

  3. ログ生成率を追跡します。HourThreshold パラメーター (ログ生成率を基にした) で指定された値内で、ディスクの空き領域が不足することが明らかな場合は、さらなる操作を実行する必要があります。

    注意

    重大な問題を回避するため、十分な領域が利用可能な通常の勤務時間内に対応する時間が取れるよう、HourThreshold パラメーターの値が十分に大きいことを確認します。ドライブが指定した値よりも早くいっぱいになってしまう場合は、ディスクを保護するために即座に操作を実行する必要があります。

  4. 以前の条件すべてが満たされると、スクリプトは過去 1 時間以内にデータベースにアクセスした上位 25 ユーザーの一覧を特定します。スクリプトは次に、現在のログ生成率と構成可能な時間のしきい値を切り抜けることができる適切な生成率の差異よりも、ログ生成率の合計が大きい、利用率が上位のメールボックスを検疫します。これらのユーザーは 6 時間にわたって検疫され、その間は電子メールにアクセスできません。

  5. Troubleshooter がログ生成率をしきい値より下に下げるのことができない場合、状態モデルの警告に変換したイベントが書き出されます。この時点で、スクリプトは指定したデータベースに対して、ExcludeFromProvisioning パラメーターを $true に設定した Set-MailboxDatabase コマンドレットを実行することで、データベースを準備から削除します。領域を再均衡化するため、メールボックスの新しいサーバーへの移動が必要になる場合があります。

  6. Troubleshooter が 10 を超えるユーザーを検疫する場合は、組織的な問題を示しており、追跡する必要があります。状態モデルは、この状態から緊急警告をトリガーします。

Troubleshoot-DatabaseSpace.ps1 スクリプトで使用される既定の設定は、StoreTSConstants.ps1 スクリプトで定義されています。

データベースに関連する他の管理タスクについては、「メールボックス データベースの管理」を参照してください。

Troubleshoot-DatabaseSpace.ps1 スクリプトを使用する

この手順を実行する際には、あらかじめアクセス許可を割り当てる必要があります。必要なアクセス許可の一覧については、以下を参照してください。「メールボックスのアクセス許可」の「メールボックス データベース」。

次のパラメーター構文セットと表は、特定のメールボックスの移動に使用できるパラメーターを一覧表示しています。

Troubleshoot-DatabaseSpace.ps1 -MailboxDatabaseName <DatabaseID> [-PercentEdbFreeSpaceThreshold <1-99>] [-PercentLogFreeSpaceThreshold <1-99>] [-HourThreshold <1- 1000000000>] [-Quarantine <switch>] [-MonitoringContext <switch>]
Troubleshoot-DatabaseSpace.ps1 -Server <ServerID> [-PercentEdbFreeSpaceThreshold <1-99>] [-PercentLogFreeSpaceThreshold <1-99>] [-HourThreshold <1- 1000000000>] [-Quarantine <switch>] [-MonitoringContext <switch>]
パラメーター 必須 説明

MailboxDatabaseName

必須

MailboxDatabaseName パラメーターには、ログの増加を監視しているメールボックス データベースを指定します。

このパラメーターには、以下の値を指定できます。

  • GUID

  • 識別名 (DN)

  • データベース名

注意

このパラメーターを Server パラメーターと共に使用することはできません。

Server

必須

Server パラメーターには、すべてのメールボックス データベースのログの増加を監視しているメールボックス サーバーを指定します。

注意

このパラメーターを MailboxDatabaseName パラメーターと共に使用することはできません。

HourThreshold

省略可能

HourThreshold パラメーターには、領域不足になるまでに待つことが可能な時間数を指定します。既定値は 12 時間です。

MonitoringContext

省略可能

MonitoringContext パラメーターには、イベント ビューアーの通常のアプリケーション ログおよびオペレーション ログに書き込まれる監視イベントを、コマンドの結果に含めるかどうかを指定します。この値を指定しない場合、オペレーション ログはイベント ビューアーの次の場所に書き込まれます。

[イベント ビューアー] > [アプリケーションとサービス ログ] > [Microsoft]-[Exchange]-[Troubleshooters]/[Operational]

このパラメーターに値を指定する必要はありません。

PercentEdbFreeSpaceThreshold

省略可能

PercentEdbFreeSpaceThreshold パラメーターには、Exchange がユーザーの検疫を開始する .edb ファイルのディスク容量の割合を指定します。例えば、10 % を指定する場合、HourThreshold パラメーターで指定した時間内に, .edb ファイルの増加によるハード ドライブの容量不足をコマンドが検出すると、Exchange は最も負荷の大きいユーザーの検疫を開始します。

このパラメーターの既定値は 25 % です。

PercentLogFreeSpaceThreshold

省略可能

PercentLogFreeSpaceThreshold パラメーターには、Exchange がユーザーの検疫を開始する、ログ ファイルのディスク容量の使用率を指定します。例えば、10 % を指定する場合、HourThreshold パラメーターで指定した時間内に、ログ ファイルの増加によるハード ドライブの容量不足をコマンドが検出すると、Exchange は最も負荷の大きいユーザーの検疫を開始します。

このパラメーターの既定値は 25 % です。

Quarantine

省略可能

Quarantineパラメーターには、検疫を行う負荷の高いユーザーを指定します。このパラメーターを指定しない場合、ユーザーの検疫は行いません。

このパラメーターに値を指定する必要はありません。

この例では、Troubleshoot-DatabaseSpace.ps1 スクリプトを次の設定で実行する方法を示します。

  • 警告は、データベース ログを含むボリュームの空き容量が 10%、データベース ファイルおよびそれを含むボリューム内の空き領域が 10% に設定します。

  • 時間のしきい値は 5 時間に設定されています。

これらの設定では、5 時間以内にハード ドライブの空き領域が 10 % 以下になると Troubleshooter が判断した場合に、最も負荷の高いユーザーが検疫されます。

.\Troubleshoot-databasespace.ps1 -server MBX01 -PercentLogFreeSpace 10 -PercentEDBFreeSpace 10 -HourThreshold 5 -Quarantine

注意

この例は、コマンドを手動で 1 回実行する方法を示します。Troubleshooter がサーバーまたはデータベースを効率的に監視するのに必要なデータを生成するために、このコマンドを定期的な感覚で数回実行する必要があります。Microsoft Windows オペレーティング システムのタスク スケジューラを使用して、このタスクを設定することをお勧めします。詳細については、「タスク スケジューラの概要」を参照してください。

ログ増加のトラブルシューティングの出力を表示する

イベント ビューアーで、Troubleshoot-DatabaseSpace.ps1 スクリプトの結果は、次の場所で表示できます。[イベント ビューアー] > [アプリケーションとサービス ログ] > [Microsoft]-[Exchange]-[Troubleshooters]/[Operational]

例えば、以下はイベント ID 5101 の出力を表しています。この出力はスクリプトがエラーなしに正常に実行された場合に返されます。

データベース MBD01 用のボリューム D:\ のデータベース領域のトラブルシューティングは終了し、問題は検出されませんでした。

EDB ドライブの空き領域:151,938,752,512 B

ログ ドライブの空き領域:151,845,265,408 B

EDB ファイルの空き領域のしきい値: 10%

ログの空き領域のしきい値: 10%

時間のしきい値:12 時間

現在の成長率:314572800 B/時間

次の表は、イベント ID、イベントの説明、および必要に応じて、実行する操作を表示します。

注意

この表の説明は、これらのイベントに含まれる可能性のある情報の例です。

イベント ID 説明 操作

5100

データベース領域のトラブルシューティングを、データベース MBD01 用のボリューム D:\ で開始しました。

情報のみ。このメッセージへの対処は必要ありません。

5101

データベース MBD01 用のボリューム D:\ におけるデータベース領域のトラブルシューティングは完了しました。問題は検出されませんでした。

情報のみ。このメッセージへの対処は必要ありません。

5400

データベース MBD01 用のボリューム D:\ におけるデータベース領域のトラブルシューティングは完了しました。データベースが、空き領域のしきい値を超えています。容量不足を防ぐため、ユーザーは検疫されました。

警告イベント:監視を継続します。ユーザーは 6 時間にわたって検疫され、メールボックスにはアクセスできません。

5401

データベース MBD01 用のボリューム D:\ におけるデータベース領域のトラブルシューティングは完了しました。データベースは空き領域のしきい値よりも下ですが、異常な率で増加しているわけではありません。何も処理は行われませんでした。

警告イベント:監視を継続します。

5410

データベース領域のトラブルシューティングはデータベース MBD01 のメールボックス f3bb8007-b6d1-45f5-b748-211d66fa43f6 を検疫しました。

警告イベント:このイベントは、イベント 5400 が作成されると作成されます。監視を継続します。

5700

データベース MBD01 用のボリューム D:\ におけるデータベース領域のトラブルシューティングは完了しました。データベースのサイズは、空き領域のしきい値を超えて増加し続けています。手動による介入が必要です。

このエラー イベントは、データベース領域が空き領域のしきい値を超えていることを示しています。Microsoft Exchange Server ユーザー モニター ツール (Exmon) を実行して、過剰なログを生成しているユーザーまたはサービスを監視します。詳細については、「Microsoft Exchange Server ユーザー モニター」を参照してください (このサイトは英語の場合があります)。

5701

データベース領域のトラブルシューティングは、データベース MBD01 用のボリューム D:\ で空き領域が不足している状態を検出しました。このデータベースのプロビジョニングは無効になっています。このデータベースの空き領域は 10% 未満です。

このエラー イベントは、プロビジョニングからデータベースが削除されていることを示します。この場合、スクリプトは指定したデータベースに対して Set-MailboxDatabase コマンドレットを ExcludeFromProvisioning パラメーターを $true に設定して実行します。データベースの領域の問題が解決したら、メールボックス データベースのプロビジョニングを手動でオンに戻す必要があります。

領域を再均衡化するため、メールボックスの新しいサーバーへの移動が必要になる場合があります。

5702

データベース領域のトラブルシューティングは、データベース MBD01 用のボリューム D:\ で空き領域が著しく不足している状態を検出しました。このデータベースのプロビジョニングは無効になっています。このデータベースの空き領域は 10% 未満です。

このエラー イベントは、リソースが著しく不足しているため、プロビジョニングからデータベースが削除されていることを示します。

この場合、スクリプトは指定したデータベースに対して Set-MailboxDatabase コマンドレットを ExcludeFromProvisioning パラメーターを $true に設定して実行します。データベースの領域の問題が解決したら、メールボックス データベースのプロビジョニングを手動でオンに戻す必要があります。

領域を再均衡化するため、ユーザーの新しいデータベースへの移動が必要になる場合があります。

 © 2010 Microsoft Corporation.All rights reserved.