最近、運用ボックスを Windows 2003 サーバーから Windows 2008 にアップグレードしました。イベントログ以外はすべて正常に動作します。メッセージごとに最大 32000 バイトのデータをログに記録します。
2008 サーバーでは、文字数が 31885 を超えるとイベント ログが失敗します。これは Windows 2008 R2 サーバーでの新しい制限ですか?
Windows 2003 サーバーでは、ログ エントリごとに 32000 バイトのデータを記録できます。
ReportEvent
関数のドキュメントからの引用:
pStrings [in]
イベント ビューアーが文字列をユーザーに表示する前に、メッセージにマージされる null で終わる文字列の配列を含むバッファーへのポインター。wNumStrings がゼロの場合でも、このパラメーターは有効なポインター (または NULL) でなければなりません。各文字列は 31,839 文字に制限されています。
Windows Vista より前: 各文字列は 32K 文字に制限されています。
質問に答えるには:
はい、ログに記録できる許可された文字列の長さは、正しい時間枠で変更されました。解決策は、イベント ログ エントリを分割するか、エントリを縮小して詳細を別の場所に保存するか、コンテンツの一部をイベントのバイナリ データ フィールドに保存することです。