sp_readerrorlog (Transact-SQL)

適用対象:SQL Server

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

Transact-SQL 構文表記規則

構文

sp_readerrorlog  
    @p1        int = 0,
    @p2        int = NULL,
    @p3        nvarchar(4000) = NULL,
    @p4        nvarchar(4000) = NULL

引数

[@p1 = ]'log_number'

表示するログの整数 (int) 値です。 現在のエラー ログの値は 0、前は 1 (Errorlog.1)、前のエラー ログは 2 (Errorlog.2) です。

[@p2 = ]'product ID'

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

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

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

リターン コードの値

リターン コードなし

結果セット

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

解説

SQL Server が起動されるたびに、現在のエラー ログの名前が errorlog.1変更されます。 errorlog.1errorlog.2 になり、errorlog.2 が errorlog.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'

参照