commands

^

Start-DbaAgentJob

Author Chrissy LeMaire (@cl), netnerds.net
Availability Windows, Linux, macOS

 

Want to see the source code for this command? Check out Start-DbaAgentJob on GitHub.
Want to see the Bill Of Health for this command? Check out Start-DbaAgentJob.

Synopsis

Starts a running SQL Server Agent Job.

Description

This command starts a job then returns connected SMO object for SQL Agent Job information for each instance(s) of SQL Server.

Syntax

Start-DbaAgentJob
    [-SqlCredential <PSCredential>]
    [-Job <String[]>]
    [-StepName <String>]
    [-ExcludeJob <String[]>]
    [-AllJobs]
    [-Wait]
    [-Parallel]
    [-WaitPeriod <Int32>]
    [-SleepPeriod <Int32>]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Start-DbaAgentJob -SqlInstance <DbaInstanceParameter[]>
    [-SqlCredential <PSCredential>]
    [-Job <String[]>]
    [-StepName <String>]
    [-ExcludeJob <String[]>]
    [-AllJobs]
    [-Wait]
    [-Parallel]
    [-WaitPeriod <Int32>]
    [-SleepPeriod <Int32>]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Start-DbaAgentJob
    [-SqlCredential <PSCredential>]
    [-Job <String[]>]
    [-StepName <String>]
    [-ExcludeJob <String[]>]
    -InputObject <Job[]>
    [-AllJobs]
    [-Wait]
    [-Parallel]
    [-WaitPeriod <Int32>]
    [-SleepPeriod <Int32>]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> Start-DbaAgentJob -SqlInstance localhost

Starts all running SQL Agent Jobs on the local SQL Server instance

Example: 2
PS C:\> Get-DbaAgentJob -SqlInstance sql2016 -Job cdc.DBWithCDC_capture | Start-DbaAgentJob

Starts the cdc.DBWithCDC_capture SQL Agent Job on sql2016

Example: 3
PS C:\> Start-DbaAgentJob -SqlInstance sql2016 -Job cdc.DBWithCDC_capture

Starts the cdc.DBWithCDC_capture SQL Agent Job on sql2016

Example: 4
PS C:\> $servers | Find-DbaAgentJob -IsFailed | Start-DbaAgentJob

Restarts all failed jobs on all servers in the $servers collection

Example: 5
PS C:\> Start-DbaAgentJob -SqlInstance sql2016 -AllJobs

Start all the jobs

Example: 6
PS C:\> Start-DbaAgentJob -SqlInstance sql2016 -Job @('Job1', 'Job2', 'Job3') -Wait

This is a serialized approach to submitting jobs and waiting for each job to continue the next.
Starts Job1, waits for completion of Job1
Starts Job2, waits for completion of Job2
Starts Job3, Waits for completion of Job3

Example: 7
PS C:\> Start-DbaAgentJob -SqlInstance sql2016 -Job @('Job1', 'Job2', 'Job3') -Wait -Parallel

This is a parallel approach to submitting all jobs and waiting for them all to complete.
Starts Job1, starts Job2, starts Job3 and waits for completion of Job1, Job2, and Job3.

Example: 8
PS C:\> Start-DbaAgentJob -SqlInstance sql2016 -Job JobWith5Steps -StepName Step4

Starts the JobWith5Steps SQL Agent Job at step Step4.

Required Parameters

-SqlInstance

The target SQL Server instance or instances.

Alias
Required True
Pipeline false
Default Value
-InputObject

Internal parameter that enables piping

Alias
Required True
Pipeline true (ByValue)
Default Value

Optional Parameters

-SqlCredential

Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory - Integrated are all supported.
For MFA support, please use Connect-DbaInstance.

Alias
Required False
Pipeline false
Default Value
-Job

The job(s) to process - this list is auto-populated from the server. If unspecified, all jobs will be processed.

Alias
Required False
Pipeline false
Default Value
-StepName

The step name to start the job at, will default to the step configured by the job.

Alias
Required False
Pipeline false
Default Value
-ExcludeJob

The job(s) to exclude - this list is auto-populated from the server.

Alias
Required False
Pipeline false
Default Value
-AllJobs

Retrieve all the jobs

Alias
Required False
Pipeline false
Default Value False
-Wait

Wait for output until the job has started

Alias
Required False
Pipeline false
Default Value False
-Parallel

Works in conjunction with the Wait switch. Be default, when passing the Wait switch, each job is started one at a time and waits for completion
before starting the next job. The Parallel switch will change the behavior to start all jobs at once, and wait for all jobs to complete .

Alias
Required False
Pipeline false
Default Value False
-WaitPeriod

Wait period in seconds to use when -Wait is used

Alias
Required False
Pipeline false
Default Value 3
-SleepPeriod

Period in milliseconds to wait after a job has started

Alias
Required False
Pipeline false
Default Value 300
-EnableException

By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.
This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting.
Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch.

Alias
Required False
Pipeline false
Default Value False
-WhatIf

If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.

Alias wi
Required False
Pipeline false
Default Value
-Confirm

If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.

Alias cf
Required False
Pipeline false
Default Value