sp_readerrorlog (Transact-SQL)

適用対象: SQL Server

SQL Server の内容を読み取ったり、エラー ログ ファイルをSQL Server エージェントしたり、キーワードをフィルター処理したりできます。

Transact-SQL 構文表記規則

構文

sp_readerrorlog
    [ [ @p1 = ] p1 ]
    [ , [ @p2 = ] p2 ]
    [ , [ @p3 = ] N'p3' ]
    [ , [ @p4 = ] N'p4' ]
[ ; ]

引数

[ @p1 = ] p1

表示するログの整数値。 @p1int で、既定値は 0 です。 現在のエラー ログの値は 0 です。 前の値は 1 (ERRORLOG.1)、前の値は 2 (ERRORLOG.2) です。

[ @p2 = ] p2

ログを表示する製品の整数値。 @p2int で、既定値は NULL です。 SQL Server または 2 SQL Server エージェント の1を使用します。 値が指定されていない場合は、SQL Server 製品が使用されます。

[ @p3 = ] N'p3'

エラー ログを表示するときにフィルター処理する文字列の文字列値。 @p3nvarchar(4000) で、既定値は NULL です。

[ @p4 = ] N'p4'

エラー ログを表示するときに検索をさらに絞り込むためにフィルター処理する追加の文字列の文字列値。 @p4nvarchar(4000)で、既定値は NULL です。 このパラメーターは、最初の文字列検索 @p3に追加のフィルターを提供します。

リターン コードの値

なし。

結果セット

要求されたエラー ログの内容を表示します。 フィルター文字列を使用する場合は、それらの文字列に一致する行のみが表示されます。

解説

SQL Server が起動されるたびに、現在のエラー ログの名前が ERRORLOG.1 に変更されます。 ERRORLOG.1ERRORLOG.2になり、 ERRORLOG.2ERRORLOG.3になります。 sp_readerrorlog を使用すると、ファイルが存在する限り、これらのエラー ログ ファイルのいずれかを読み取りできます。

アクセス許可

sp_readerrorlogの実行権限は、sysadmin固定サーバー ロールのメンバーに制限されます。

次の例では、SQL Server エラー ログを循環します。

A. 現在の SQL Server エラー ログを読み取ります

EXEC sp_readerrorlog;

B. 前のSQL Server エージェントエラー ログを表示する

EXEC sp_readerrorlog 1, 2;

C: データベースが起動していることを示すログ メッセージを検索する

EXEC sp_readerrorlog 0, 1, 'database', 'start';