sp_help_jobhistory (Transact-SQL)
適用対象:SQL Server
マルチサーバー管理ドメインに所属するサーバーのジョブに関する情報を提供します。
構文
sp_help_jobhistory
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'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 = ] N'server' ]
[ , [ @mode = ] 'mode' ]
[ ; ]
引数
[ @job_id = ] 'job_id'
ジョブ ID 番号。 @job_idは uniqueidentifier で、既定値は NULL
.
[ @job_name = ] N'job_name'
ジョブの名前。 @job_nameは sysname で、既定値は NULL
.
[ @step_id = ] step_id
ステップ識別番号。 @step_idは int で、既定値は NULL
.
[ @sql_message_id = ] sql_message_id
ジョブの実行時に 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は、4 文字の年、2 文字の月の名前、dd
MM
2 文字の日の名前の形式yyyyMMdd
yyyy
で入力する必要があります。
[ @end_run_date = ] end_run_date
ジョブが完了した日付を指定します。 @end_run_dateは int で、既定値は NULL
. @end_run_dateは、yyyy
4 文字の年、2 文字の月の名前、 MM
dd
2 文字の日の名前の形式yyyyMMdd
で入力する必要があります。
[ @start_run_time = ] start_run_time
ジョブが開始された時刻。 @start_run_timeは int で、既定値は NULL
. @start_run_timeは、HH
1 日の 2 文字の時間、1 日の 2 文字分、 mm
2 文字ss
の秒の形式HHmmss
で入力する必要があります。
[ @end_run_time = ] end_run_time
ジョブの実行が完了した時刻。 @end_run_timeは int で、既定値は NULL
. @end_run_timeは、HH
1 日の 2 文字の時間、1 日の 2 文字分、 mm
1 日ss
の 2 文字の秒の形式HHmmss
で入力する必要があります。
[ @minimum_run_duration = ] minimum_run_duration
ジョブを完了するのに必要な最小時間を指定します。 @minimum_run_durationは int で、既定値は NULL
. @minimum_run_durationは、HH
1 日の 2 文字の時間、1 日の 2 文字分、 mm
1 日ss
の 2 文字の秒の形式HHmmss
で入力する必要があります。
[ @run_status = ] run_status
ジョブの実行状態。@run_statusは int であり、これらの値のいずれかになります。
Value | 説明 |
---|---|
0 |
Failed |
1 |
Succeeded |
2 |
再試行 (ステップのみ) |
3 |
取り消し済み |
4 |
進行中のメッセージ |
5 |
Unknown |
[ @minimum_retries = ] minimum_retries
ジョブの実行を再試行する最小回数。 @minimum_retriesは int で、既定値は NULL
.
[ @oldest_first = ] oldest_first
最初に最も古いジョブで出力を表示するかどうか。 @oldest_firstは int で、既定値は 0
.
0
は、最初に最新のジョブを表示します。1
は、最初に最も古いジョブを示します。
[ @server = ] N'server'
ジョブを実行したサーバーの名前を示します。 @serverは sysname で、既定値は NULL
.
[ @mode = ] 'mode'
SQL Server が結果セットFULL
() 内のすべての列を出力するか、列の概要 (SUMMARY
) を出力するかを指定します。 @modeは varchar(7) で、既定値は SUMMARY
.
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
実際の列リストは、@modeの値によって異なります。 最も包括的な列のセットを次の表に示し、@modeFULL
が .
列名 | データ型 | 説明 |
---|---|---|
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)。 |
server |
nvarchar(30) | ステップまたはジョブを実行するサーバー。 常に (local ) です。 |
解説
sp_help_jobhistory
は、指定されたスケジュールされたジョブの履歴を含むレポートを返します。 どのパラメーターも指定しない場合は、レポートにはすべての定期ジョブの履歴が含まれます。
アクセス許可
このストアド プロシージャは、db_owner ロールによって所有されています。 任意のユーザーにアクセス許可を付与 EXECUTE
できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。
他のユーザーには、データベース内の固定データベース ロール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
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示