Get-SqlAgentJobHistory

SQL エージェントのターゲット インスタンスに存在するジョブ履歴を取得します。

構文

Get-SqlAgentJobHistory
   [-StartRunDate <DateTime>]
   [-EndRunDate <DateTime>]
   [-JobID <Guid>]
   [-JobName <String>]
   [-MinimumRetries <Int32>]
   [-MinimumRunDurationInSeconds <Int32>]
   [-OldestFirst]
   [-OutcomesType <CompletionResult>]
   [-SqlMessageID <Int32>]
   [-SqlSeverity <Int32>]
   [-Since <SinceType>]
   [[-Path] <String[]>]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Get-SqlAgentJobHistory
   [-StartRunDate <DateTime>]
   [-EndRunDate <DateTime>]
   [-JobID <Guid>]
   [-JobName <String>]
   [-MinimumRetries <Int32>]
   [-MinimumRunDurationInSeconds <Int32>]
   [-OldestFirst]
   [-OutcomesType <CompletionResult>]
   [-SqlMessageID <Int32>]
   [-SqlSeverity <Int32>]
   [-Since <SinceType>]
   [[-ServerInstance] <String[]>]
   [-Credential <PSCredential>]
   [-ConnectionTimeout <Int32>]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Get-SqlAgentJobHistory
   [-StartRunDate <DateTime>]
   [-EndRunDate <DateTime>]
   [-JobID <Guid>]
   [-JobName <String>]
   [-MinimumRetries <Int32>]
   [-MinimumRunDurationInSeconds <Int32>]
   [-OldestFirst]
   [-OutcomesType <CompletionResult>]
   [-SqlMessageID <Int32>]
   [-SqlSeverity <Int32>]
   [-Since <SinceType>]
   [-InputObject] <JobServer[]>
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]

説明

Get-SqlAgentJobHistory コマンドレットは、SQL エージェントのターゲット インスタンスに存在する JobHistory オブジェクトを取得します。

このコマンドレットは、JobHistory オブジェクトを取得するための次の操作モードをサポートしています。

  • SQL エージェント インスタンスのパスを指定します。
  • 入力に SQL エージェントのインスタンスを渡します。
  • 有効なコンテキストでコマンドレットを呼び出します。

例 1: 指定されたサーバー インスタンスからジョブ履歴全体を取得する

PS C:\> Get-SqlAgentJobHistory -ServerInstance "MyServerInstance" | Format-Table

InstanceID SqlMessageID Message
---------- ------------ -------
        34            0 The job succeeded.  The Job was invoked by Schedule 8 (syspolicy_purge_history_schedule).  T... 
        33            0 Executed as user: DOMAIN\Machine1$. The step did not generate any output.  Process Exit

このコマンドは、MyServerInstance という名前のサーバー インスタンス内のジョブ履歴全体を取得し、出力を書式設定します。

例 2: 指定されたサーバー インスタンスからジョブ履歴を取得する

PS C:\> Get-SqlAgentJobHistory -ServerInstance "MyServerInstance" -JobID 187112d7-84e1-4b66-b093-e97201c441ed

JobID            : 187112d7-84e1-4b66-b093-e97201c441ed
JobName          : Job_73cc6990-6386-49f9-9826-96c318ad8afa
RunStatus        : 3

このコマンドは、"MyServerInstance" という名前のサーバー インスタンス内の ID '187112d7-84e1-4b66-b093-e97201c441ed' のジョブ オブジェクトのジョブ履歴を取得します。

例 3: 指定されたサーバー インスタンスから、期間からジョブ履歴を取得する

PS C:\> Get-SqlAgentJobHistory -ServerInstance "MyServerInstance" -Since Yesterday
InstanceID       : 4
SqlMessageID     : 0
Message          : The job was stopped prior to completion by User admin.  The Job was invoked by User
                   admin.  The last step to run was step 1 (JobStep_3e4cd4ba-3433-4311-a6a2-816884101504).

このコマンドは、'MyServerInstance' という名前のサーバー インスタンス内の前日からのジョブ履歴を返します。

パラメーター

-AccessToken

ユーザー/パスワードまたは Windows 認証の代わりに、SQL Server に対する認証に使用されるアクセス トークン。

これは、たとえば、Service Principal または Managed Identityを使用して SQL Azure DBSQL Azure Managed Instance に接続するために使用できます。

使用するパラメーターには、トークンを表す文字列、または Get-AzAccessToken -ResourceUrl https://database.windows.netを実行して返される PSAccessToken オブジェクトを指定できます。

このパラメーターは、モジュールの v22 の新機能です。

型:PSObject
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ConnectionTimeout

タイムアウトエラーが発生するまでのサーバー接続を待機する秒数を指定します。 タイムアウト値は、0 ~ 65534 の整数値である必要があります。 0 を指定した場合、接続試行はタイムアウトになりません。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Credential

この操作を実行する権限を持つ SQL Server ログインの資格情報を指定するために使用される PSCredential オブジェクトを指定します。

型:PSCredential
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Encrypt

SQL Server に接続するときに使用する暗号化の種類。

この値は、Microsoft.Data.SqlClient ドライバーの SqlConnection オブジェクトの Encrypt プロパティ SqlConnectionEncryptOption にマップされます。

モジュールの v22 では、既定値は Optional です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "必須" になり、既存のスクリプトに重大な変更が生じる可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

型:String
指定可能な値:Mandatory, Optional, Strict
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-EndRunDate

ジョブが完了した日付に返される値を制限するジョブ フィルター制約を指定します。

型:DateTime
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-HostNameInCertificate

SQL Server TLS/SSL 証明書の検証に使用するホスト名。 SQL Server インスタンスで Force Encryption が有効になっていて、ホスト名/短縮名を使用してインスタンスに接続する場合は、このパラメーターを渡す必要があります。 このパラメーターを省略した場合、強制暗号化が有効になっている SQL Server インスタンスに接続するには、完全修飾ドメイン名 (FQDN) を -ServerInstance に渡す必要があります。

このパラメーターは、モジュールの v22 の新機能です。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InputObject

対象となる SQL Server エージェントを表す SQL Server 管理オブジェクト (SMO) オブジェクトの配列を指定します。

型:JobServer[]
配置:1
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-JobID

ジョブ ID 値で指定されたジョブに返される値を制限するジョブ フィルター制約を指定します。

型:Guid
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-JobName

ジョブの名前で指定されたジョブに返される値を制限するジョブ フィルター制約を指定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MinimumRetries

失敗し、最小回数だけ再試行されたジョブに返される値を制限するジョブ フィルター制約を指定します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MinimumRunDurationInSeconds

指定された最小時間で完了したジョブに返される値を秒単位で制限するジョブ フィルター制約を指定します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-OldestFirst

このコマンドレットは、最も古い順にジョブを一覧表示することを示します。 このパラメーターを指定しない場合、コマンドレットは最新の最初の順序を使用します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-OutcomesType

完了時に指定した結果を持つジョブに返される値を制限するジョブ フィルター制約を指定します。

このパラメーターに使用できる値は次のとおりです。

-- Failed -- Succeeded -- Retry -- Cancelled -- InProgress -- Unknown

型:CompletionResult
指定可能な値:Failed, Succeeded, Retry, Cancelled, InProgress, Unknown
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Path

このコマンドレットが操作を実行する配列として、SQL Server のエージェントへのパスを指定します。 このパラメーターの値を指定しない場合、コマンドレットは現在の作業場所を使用します。

型:String[]
配置:1
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ProgressAction

スクリプト、コマンドレット、またはプロバイダーによって生成された進行状況の更新 (Write-Progress コマンドレットによって生成された進行状況バーなど) に対する PowerShell の応答方法を決定します。 Write-Progress コマンドレットは、コマンドの状態を示す進行状況バーを作成します。

型:ActionPreference
Aliases:proga
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ServerInstance

SQL エージェントが実行される配列として、SQL Server のインスタンスの名前を指定します。 既定のインスタンスの場合は、コンピューター名 MyComputer のみを指定します。 名前付きインスタンスの場合は、ComputerName\InstanceName という形式を使用します。

型:String[]
配置:1
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Since

StartRunDate パラメーターの代わりに使用できる省略形を指定します。

EndRunDate パラメーターを使用して指定できます。

このパラメーターを使用する場合は、StartRunDate パラメーターを使用できません。

このパラメーターに使用できる値は次のとおりです。

  • 午前 0 時 (午前 0 時以降に生成されたすべてのジョブ履歴情報を取得します)
  • 昨日 (過去 24 時間以内に生成されたすべてのジョブ履歴情報を取得します)
  • LastWeek (過去 1 週間に生成されたすべてのジョブ履歴情報を取得します)
  • LastMonth (先月に生成されたすべてのジョブ履歴情報を取得します)
型:SinceType
指定可能な値:Midnight, Yesterday, LastWeek, LastMonth
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SqlMessageID

実行時に指定されたメッセージを生成したジョブに返される値を制限するジョブ フィルター制約を指定します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SqlSeverity

実行時に指定された重大度のエラーを生成したジョブに返される値を制限するジョブ フィルター制約を指定します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StartRunDate

ジョブが開始された日付に返される値を制限するジョブ フィルター制約を指定します。

型:DateTime
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-TrustServerCertificate

信頼を検証するために証明書チェーンのウォークをバイパスしながらチャネルを暗号化するかどうかを示します。

モジュールの v22 では、既定値は $true です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "$false" になり、既存のスクリプトに重大な変更が生じる可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

System.String[]

Microsoft.SqlServer.Management.Smo.Agent.JobServer[]

出力

System.Object