sp_readerrorlog (Transact-SQL)
適用対象: SQL Server
SQL Server の内容を読み取ったり、エラー ログ ファイルをSQL Server エージェントしたり、キーワードをフィルター処理したりできます。
構文
sp_readerrorlog
[ [ @p1 = ] p1 ]
[ , [ @p2 = ] p2 ]
[ , [ @p3 = ] N'p3' ]
[ , [ @p4 = ] N'p4' ]
[ ; ]
引数
[ @p1 = ] p1
表示するログの整数値。 @p1 は int で、既定値は 0
です。 現在のエラー ログの値は 0
です。 前の値は 1
(ERRORLOG.1
)、前の値は 2 (ERRORLOG.2
) です。
[ @p2 = ] p2
ログを表示する製品の整数値。 @p2 は int で、既定値は NULL
です。 SQL Server または 2
SQL Server エージェント の1
を使用します。 値が指定されていない場合は、SQL Server 製品が使用されます。
[ @p3 = ] N'p3'
エラー ログを表示するときにフィルター処理する文字列の文字列値。 @p3 は nvarchar(4000) で、既定値は NULL
です。
[ @p4 = ] N'p4'
エラー ログを表示するときに検索をさらに絞り込むためにフィルター処理する追加の文字列の文字列値。 @p4 は nvarchar(4000)で、既定値は NULL
です。 このパラメーターは、最初の文字列検索 @p3に追加のフィルターを提供します。
リターン コードの値
なし。
結果セット
要求されたエラー ログの内容を表示します。 フィルター文字列を使用する場合は、それらの文字列に一致する行のみが表示されます。
解説
SQL Server が起動されるたびに、現在のエラー ログの名前が ERRORLOG.1
に変更されます。 ERRORLOG.1
は ERRORLOG.2
になり、 ERRORLOG.2
は ERRORLOG.3
になります。 sp_readerrorlog
を使用すると、ファイルが存在する限り、これらのエラー ログ ファイルのいずれかを読み取りできます。
アクセス許可
SQL Server 2019 (15.x) 以前のバージョンでは、サーバーに対する VIEW SERVER STATE 権限が必要です。
SQL Server 2022 (16.x) 以降のバージョンでは、サーバーに対する VIEW ANY ERROR LOG 権限が必要です。
例
次の例では、SQL Server エラー ログを循環します。
A. 現在の SQL Server エラー ログを読み取ります
EXECUTE sp_readerrorlog;
B. 前のSQL Server エージェントエラー ログを表示する
EXECUTE sp_readerrorlog 1, 2;
C: データベースが起動していることを示すログ メッセージを検索する
EXECUTE sp_readerrorlog 0, 1, 'database', 'start';