Share via


JobStep Class

The JobStep class represents a Microsoft SQL Server job step.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Management.Smo.SmoObjectBase
    Microsoft.SqlServer.Management.Smo.SqlSmoObject
      Microsoft.SqlServer.Management.Smo.NamedSmoObject
        Microsoft.SqlServer.Management.Smo.Agent.AgentObjectBase
          Microsoft.SqlServer.Management.Smo.Agent.JobStep

Namespace:  Microsoft.SqlServer.Management.Smo.Agent
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Syntax

'Declaration
<SfcElementTypeAttribute("Step")> _
Public NotInheritable Class JobStep _
    Inherits AgentObjectBase _
    Implements IAlterable, ICreatable, IDroppable, IRenamable,  _
    IScriptable
'Usage
Dim instance As JobStep
[SfcElementTypeAttribute("Step")]
public sealed class JobStep : AgentObjectBase, 
    IAlterable, ICreatable, IDroppable, IRenamable, IScriptable
[SfcElementTypeAttribute(L"Step")]
public ref class JobStep sealed : public AgentObjectBase, 
    IAlterable, ICreatable, IDroppable, IRenamable, IScriptable
[<SealedAttribute>]
[<SfcElementTypeAttribute("Step")>]
type JobStep =  
    class 
        inherit AgentObjectBase 
        interface IAlterable 
        interface ICreatable 
        interface IDroppable 
        interface IRenamable 
        interface IScriptable 
    end
public final class JobStep extends AgentObjectBase implements IAlterable, ICreatable, IDroppable, IRenamable, IScriptable

The JobStep type exposes the following members.

Constructors

  Name Description
Public method JobStep() Initializes a new instance of the JobStep class.
Public method JobStep(Job, String) Initializes a new instance of the JobStep class for the specified job and with the specified name.

Top

Properties

  Name Description
Public property Command Gets or sets the command execution string for the job step.
Public property CommandExecutionSuccessCode Gets or sets the process exit code from a command shell process executed as a job step.
Public property DatabaseName Gets or sets the name of the database to which the job step command execution is confined.
Public property DatabaseUserName Gets or sets the database user account that the job step assumes when executing the command string.
Public property ID Gets or sets the ID value that uniquely identifies the job step.
Public property JobStepFlags The JobStepFlags property is reserved for future use.
Public property LastRunDate Gets the date and time when the job step was last executed.
Public property LastRunDuration Gets the time that the referenced job step took to run when it was last executed.
Public property LastRunOutcome Gets the outcome of the job step when it was last executed.
Public property LastRunRetries Gets the number of retries that were attempted when the job step was last executed.
Public property Name Gets or sets the name of the object. (Inherited from NamedSmoObject.)
Public property OnFailAction Gets or sets the action to take when the job step finishes execution with failure.
Public property OnFailStep Gets or sets the job step that is executed after the referenced job step finishes execution with a completion status of failure.
Public property OnSuccessAction Gets or sets the action to take when the job step finishes execution with success.
Public property OnSuccessStep Gets or sets the job step that is executed after the referenced job step finishes execution with a completion status of success.
Public property OSRunPriority Gets or sets the execution thread scheduling for job steps executing operating system tasks.
Public property OutputFileName Gets or sets the name and path of the operating system file that records job step result message text.
Public property Parent Gets or sets the Job object that is the parent of the JobStep object.
Public property Properties Gets a collection of Property objects that represent the object properties. (Inherited from SqlSmoObject.)
Public property ProxyName Gets or sets the name of the Microsoft SQL Server Agent proxy account that is required by the job step.
Public property RetryAttempts Gets or sets the maximum number of times a job step is retried before it is returned with a completion status of failure.
Public property RetryInterval Gets or sets the number of minutes that Microsoft SQL Server Agent waits before trying to execute a job step that has previously failed.
Public property Server Gets or sets the name of the server on which the job step runs.
Public property State Gets the state of the referenced object. (Inherited from SmoObjectBase.)
Public property SubSystem Gets or sets the Microsoft SQL Server Agent execution subsystem used to interpret job step command text.
Public property Urn Gets the Uniform Resource Name (URN) address value that uniquely identifies the object. (Inherited from SqlSmoObject.)
Public property UserData Gets or sets user-defined data associated with the referenced object. (Inherited from SmoObjectBase.)

Top

Methods

  Name Description
Public method Alter Updates any JobStep object property changes on instance of Microsoft SQL Server.
Public method Create Creates a job step on the instance of Microsoft SQL Server as defined by the JobStep object.
Public method DeleteLogs(DateTime) Deletes job step log files that are older than the specified date.
Public method DeleteLogs(Int32) Deletes job step log files that have log numbers lower than the specified value.
Public method Discover Discovers a list of type Object. (Inherited from SqlSmoObject.)
Public method Drop Removes the referenced job step.
Public method EnumLogs Returns an enumerated list of the job step log files.
Public method Equals (Inherited from Object.)
Protected method FormatSqlVariant Formats an object as SqlVariant type. (Inherited from SqlSmoObject.)
Protected method GetContextDB Gets the context database that is associated with this object. (Inherited from SqlSmoObject.)
Protected method GetDBName Gets the database name that is associated with the object. (Inherited from AgentObjectBase.)
Public method GetHashCode (Inherited from Object.)
Protected method GetPropValue Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Protected method GetPropValueOptional Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Protected method GetPropValueOptionalAllowNull Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Protected method GetServerObject Gets the server of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Public method GetType (Inherited from Object.)
Public method Initialize() Initializes the object and forces the properties be loaded. (Inherited from SqlSmoObject.)
Public method Initialize(Boolean) Initializes the object and forces the properties be loaded. (Inherited from SqlSmoObject.)
Protected method IsObjectInitialized Verifies whether the object has been initialized. (Inherited from SqlSmoObject.)
Protected method IsObjectInSpace Verifies whether the object is isolated or connected to the instance of SQL Server. (Inherited from SqlSmoObject.)
Public method Refresh Refreshes the object and retrieves properties when the object is next accessed. (Inherited from SqlSmoObject.)
Public method Rename Renames the job step.
Public method Script() Generates a Transact-SQL script that can be used to re-create the Microsoft SQL Server Agent job step.
Public method Script(ScriptingOptions) Generates a Transact-SQL script that can be used to re-create the Microsoft SQL Server Agent job step as specified by the scripting options.
Protected method SetParentImpl Sets the parent of the SqlSmoObject to the newParent parameter. (Inherited from SqlSmoObject.)
Public method ToString Returns a String that represents the referenced object. (Inherited from SqlSmoObject.)
Public method Validate Validates the state of an object. (Inherited from SmoObjectBase.)

Top

Events

  Name Description
Public event PropertyChanged Represents the event that occurs when a property is changed. (Inherited from SqlSmoObject.)
Public event PropertyMetadataChanged Represents the event that occurs when property metadata changes. (Inherited from SqlSmoObject.)

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IAlienObject.Discover Discovers any dependencies. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetDomainRoot Returns the root of the domain. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetParent Gets the parent of this object. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetPropertyType Gets the type of the specified property. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetPropertyValue Gets the value of the specified property. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetUrn Gets the Unified Resource Name (URN) of the object. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.Resolve Gets the instance that contains the information about the object from the Unified Resource Name (URN) of the object. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.SetObjectState Sets the object state to the specified SfcObjectState value. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.SetPropertyValue Sets the property value. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method ISfcPropertyProvider.GetPropertySet Gets the interface reference to the set of properties of this object. (Inherited from SqlSmoObject.)

Top

Remarks

SQL Server Agent jobs contain one or more execution units called steps. Each job step contains a textual command, type of execution that specifies command interpretation, and logic that determines the behavior of the job if the step succeeds or fails. For example, a job step can contain:

  • The command text. For example:

    DBCC CHECKDB ('Northwind') WITH NO_INFOMSGS
    
  • A job step execution type: Transact-SQL for example.

  • An indication that the job should stop if the step fails.

With the JobStep object, you can do the following:

  • Create a SQL Server Agent job step.

  • Remove a job step from a SQL Server Agent job.

  • Manage existing job steps by changing, for example, the command text or the actions taken on success or failure of the step.

  • Obtain details about the last attempted execution of the step.

To get JobStep object properties, users must be a member of SQLAgentUserRole database role on the MSDB database or be a member of the sysadmin fixed server role.

To set JobStep object properties, users must be a member of SQLAgentUserRole database role on the MSDB database, be the owner of the owner of the job step, or be a member of the sysadmin fixed server role.

To create a job step, users must be a member of SQLAgentUserRole database role on the MSDB database or be a member of the sysadmin fixed server role. The user must also have permission on any proxy accounts used by the job step.

To drop a job step, users must be a member of SQLAgentUserRole database role on the MSDB database, be the owner of the job step, or be a member of the sysadmin fixed server role.

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe.  

Examples

Scheduling Automatic Administrative Tasks in SQL Server Agent

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.SqlServer.Management.Smo.Agent Namespace

Other Resources

Scheduling Automatic Administrative Tasks in SQL Server Agent

Automated Administration Tasks (SQL Server Agent)

sp_help_jobstep (Transact-SQL)