sp_help_jobhistory (Transact-SQL)
適用対象:SQL Server
マルチサーバー管理ドメインに所属するサーバーのジョブに関する情報を提供します。
構文
sp_help_jobhistory [ [ @job_id = ] job_id ]
[ , [ @job_name = ] 'job_name' ]
[ , [ @step_id = ] step_id ]
[ , [ @sql_message_id = ] sql_message_id ]
[ , [ @sql_severity = ] sql_severity ]
[ , [ @start_run_date = ] start_run_date ]
[ , [ @end_run_date = ] end_run_date ]
[ , [ @start_run_time = ] start_run_time ]
[ , [ @end_run_time = ] end_run_time ]
[ , [ @minimum_run_duration = ] minimum_run_duration ]
[ , [ @run_status = ] run_status ]
[ , [ @minimum_retries = ] minimum_retries ]
[ , [ @oldest_first = ] oldest_first ]
[ , [ @server = ] 'server' ]
[ , [ @mode = ] 'mode' ]
引数
[ @job_id = ] job_id
ジョブ ID 番号。 job_idは uniqueidentifier で、既定値は NULL です。
[ @job_name = ] 'job_name'
ジョブの名前。 job_nameは sysname で、既定値は NULL です。
[ @step_id = ] step_id
ステップ識別番号。 step_idは int で、既定値は NULL です。
[ @sql_message_id = ] sql_message_id
ジョブの実行時に Microsoft SQL Server によって返されるエラー メッセージの識別番号。 sql_message_idは int で、既定値は NULL です。
[ @sql_severity = ] sql_severity
ジョブの実行時に SQL Server によって返されるエラー メッセージの重大度レベル。 sql_severityは int で、既定値は NULL です。
[ @start_run_date = ] start_run_date
ジョブが開始された日付。 start_run_dateは int で、既定値は NULL です。 start_run_date、YYYY は 4 文字の年、MM は 2 文字の月名、DD は 2 文字の日の名前の形式yyyyMMdd
で入力する必要があります。
[ @end_run_date = ] end_run_date
ジョブが完了した日付。 end_run_dateは int で、既定値は NULL です。 end_run_date、YYYY は 4 桁の年、MM は 2 文字の月名、DD は 2 文字の日の名前という形式yyyyMMdd
で入力する必要があります。
[ @start_run_time = ] start_run_time
ジョブが開始された時刻。 start_run_timeは int で、既定値は NULL です。 start_run_time、HH は 1 日の 2 文字の時間、MM は 1 日の 2 文字分、SS は 1 日の 2 文字の秒という形式HHmmss
で入力する必要があります。
[ @end_run_time = ] end_run_time
ジョブの実行が完了した時刻。 end_run_timeは int で、既定値は NULL です。 end_run_timeは、HH は 1 日の 2 文字の時間、MM は 1 日の 2 文字分、SS は 1 日の 2 文字の秒という形式HHmmss
で入力する必要があります。
[ @minimum_run_duration = ] minimum_run_duration
ジョブの完了時間の最小長。 minimum_run_durationは int で、既定値は NULL です。 minimum_run_duration、HH は 1 日の 2 文字の時間、MM は 1 日の 2 文字分、SS は 1 日の 2 文字の秒という形式HHmmss
で入力する必要があります。
[ @run_status = ] run_status
ジョブの実行状態。 run_statusは int で、既定値は NULL で、これらの値のいずれかを指定できます。
Value | 内容 |
---|---|
0 | 失敗 |
1 | Succeeded |
2 | 再試行 (ステップのみ) |
3 | 取り消し済み |
4 | 進行中のメッセージ |
5 | Unknown |
[ @minimum_retries = ] minimum_retries
ジョブの実行を再試行する最小回数。 minimum_retriesは int で、既定値は NULL です。
[ @oldest_first = ] oldest_first
最初に最も古いジョブで出力を表示するかどうかを指定します。 oldest_firstは int で、既定値は 0 で、最新のジョブが最初に表示されます。 1 は最も古いジョブを最初に示します。
[ @server = ] 'server'
ジョブが実行されたサーバーの名前。 server は nvarchar(30)で、既定値は NULL です。
[ @mode = ] 'mode'
SQL Server が結果セット (FULL) 内のすべての列を出力するか、列の概要を出力するかを指定します。 mode は varchar(7) で、既定値は SUMMARY です。
リターン コードの値
0 (成功) または 1 (失敗)
結果セット
実際の列リストは、モードの値によって異なります。 最も包括的な列のセットを次に示します。モードが FULL の場合に返されます。
列名 | データ型 | 説明 |
---|---|---|
instance_id | int | 履歴エントリの識別番号。 |
job_id | uniqueidentifier | ジョブ ID 番号。 |
job_name | sysname | ジョブ名。 |
step_id | int | ステップ ID 番号 (ジョブ履歴の場合は 0 になります)。 |
step_name | sysname | ステップ名。ジョブ履歴の場合は NULL です。 |
sql_message_id | int | Transact-SQL ステップの場合、コマンドの実行中に発生した最新の Transact-SQL エラー番号。 |
sql_severity | int | Transact-SQL ステップの場合、コマンドの実行中に発生した Transact-SQL エラーの重大度が最も高くなります。 |
message | nvarchar(1024) | ジョブまたはステップの履歴メッセージ。 |
run_status | int | ジョブまたはステップの結果。 |
run_date | int | ジョブまたはステップの実行が開始された日付。 |
run_time | int | ジョブまたはステップの実行が開始された時刻。 |
run_duration | int | ジョブまたはステップ HHmmss の実行の経過時間 (形式)。 |
operator_emailed | nvarchar(20) | このジョブに関して電子メールで送信されたオペレーター (ステップ履歴の場合は NULL)。 |
operator_netsent | nvarchar(20) | このジョブに関するネットワーク メッセージを送信されたオペレーター (ステップ履歴の場合は NULL)。 |
operator_paged | nvarchar(20) | このジョブに関してページングされた演算子 (ステップ履歴の場合は NULL)。 |
retries_attempted | int | ステップが再試行された回数 (ジョブ履歴の場合は常に 0)。 |
サーバー | nvarchar(30) | ステップまたはジョブを実行するサーバー。 常に (ローカル) です。 |
解説
sp_help_jobhistoryは、指定されたスケジュールされたジョブの履歴を含むレポートを返します。 どのパラメーターも指定しない場合は、レポートにはすべての定期ジョブの履歴が含まれます。
アクセス許可
既定では、このストアド プロシージャを実行できるのは、 sysadmin 固定サーバー ロールのメンバーです。 他のユーザーには、 SQL Server msdb データベースの次のいずれかの エージェント固定データベース ロールが許可されている必要があります。
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。
SQLAgentUserRole データベース ロールのメンバーは、所有するジョブの履歴のみを表示できます。
例
A. ジョブのすべてのジョブ情報を一覧表示する
次の例では、ジョブのすべてのジョブ情報を NightlyBackups
一覧表示します。
USE msdb ;
GO
EXEC dbo.sp_help_jobhistory
@job_name = N'NightlyBackups' ;
GO
B. 一定の条件に一致するジョブに関する情報を一覧表示する
次の例では、失敗したジョブと失敗したジョブ ステップのすべての列とすべてのジョブ情報を、エラー メッセージ (ユーザー定義エラー メッセージ 50100
) と重大度 20
が .
USE msdb
GO
EXEC dbo.sp_help_jobhistory
@sql_message_id = 50100,
@sql_severity = 20,
@run_status = 0,
@mode = N'FULL' ;
GO
参照
sp_purge_jobhistory (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示