現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2012 または SQL Server 2014 を実行しているコンピューターを使用しています。
-
3000バイトよりも大きい監査と多くの WHERE句を作成します。
-
ALTERステートメントを使用して監査を開始しようとした場合
このシナリオでは、監査が開始されず、次のエラーメッセージが表示されます。
Msg 102、Level 15、State 1、Line LineNumber 「文字列」付近の構文が正しくありません。 Msg 25711、Level 16、State 2、Line LineNumber イベント述語を解析できませんでした。
ノート この問題は、トレースを 開始しようとしたときに、手順3で構文エラーが誤って発生することに注意してください。 この修正により、エラーが適切な場所で発生するようになります。手順2では、WHERE 句を使用して (>) 3000 文字を超える監査を 作成します。 この修正によって、WHERE 述語の式の制限が変更されることはありません。
述語式は、依然として3000文字に制限されています。 BOL predicate_expressionについては、次の記事を参照してください。 ALTER SERVER AUDIT (Transact-SQL)
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2014 の累積更新プログラム1 /en-us/help/2931693
SQL Server 2012 SP1 の累積更新プログラム7 /en-us/help/2894115
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。