sp_readerrorlog (Transact-SQL)
適用対象: SQL サーバー
SQL Server の内容を読み取ったり、エラー ログ ファイルをSQL Server エージェントしたり、キーワードをフィルター処理したりできます。
構文
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 製品が使用されます
[@p3 = ]'string_to_search'
エラー ログを表示するときにフィルター処理する文字列の文字列値を指定します。 この値は nvarchar(4000) であり、既定値は NULL です。
[@p4 = ]'string_to_search'
エラー ログを表示するときに検索をさらに絞り込むためにフィルター処理する追加の文字列の文字列値です。 この値は nvarchar(4000) であり、既定値は NULL です。 これにより、最初の文字列検索 @p3に追加のフィルターが提供されます。
リターン コードの値
リターン コードなし
結果セット
要求されたエラー ログの内容を表示します。 フィルター文字列が使用されている場合は、それらの文字列に一致する行のみが表示されます。
解説
SQL Server が起動されるたびに、現在のエラー ログの名前が errorlog.1; に変更されます errorlog.1 が errorlog.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'