- 8 minutes to read

Managing SQL Server Jobs

Take full control of your SQL Server Agent jobs with the Nodinite Database Monitoring Agent. Prevent critical batch failures, automate maintenance tasks, and ensure business-critical ETL processes run on schedule.

A failed SQL Job in Error, its Details, View history, Start with confirmation, and the history with the new run on top, animated walkthrough (7.12)
Animated walkthrough: the job 'Monitor BizTalk Server (BizTalkMgmtDb)' is Error with 'SQL Job failed'. Details, View history, Start (confirm), then View history again: the newest run, started from Nodinite, is on top.

Why Monitor SQL Server Agent Jobs?

SQL Server Agent jobs automate essential database tasks—backups, ETL processes, maintenance, data synchronization. When jobs fail or run too long, consequences include:

  • Data integrity issues – Failed backup jobs leave databases vulnerable to data loss
  • Business process delays – ETL failures prevent reporting, analytics, and downstream applications
  • Compliance violations – Regulatory requirements for timely data processing go unmet
  • Cascading failures – Dependent jobs and processes fail when upstream jobs don't complete
  • Performance degradation – Long-running jobs consume resources and block other operations

Without proactive monitoring, teams discover job failures only after business users report missing data or failed processes.

What Does Nodinite Monitor?

The Database Monitoring Agent automatically discovers and monitors all SQL Server Agent jobs, providing:

✅ Auto-discovery – Instantly detect all jobs across your SQL Server instances without manual configuration
✅ Failure detection – Get immediate alerts when jobs fail, are disabled, or have never run
✅ Duration monitoring – Identify jobs running longer than expected thresholds
✅ Schedule compliance – Alert when jobs haven't run within their expected timeframe
✅ Remote control – Enable, disable, start, and stop jobs directly from Nodinite
✅ Execution history – View job run history to identify patterns and troubleshoot issues

When to Use SQL Job Monitoring?

Use this feature when you need to:

  • Protect critical batch processes – Ensure nightly ETL, reporting, and data feeds complete successfully
  • Validate backup operations – Confirm database and log backup jobs run as scheduled
  • Meet SLA requirements – Detect and resolve job failures before breaching service commitments
  • Empower operations teams – Enable NOC and support staff to restart failed jobs without DBA intervention
  • Identify performance trends – Track job duration over time to spot degradation
  • Support 24/7 operations – Automate alerts for after-hours job failures

How It Works

The Nodinite Database Monitoring Agent automatically discovers all your Jobs in configured SQL Server instances. When this feature is enabled, each Job yields one Resource that the System Administrator can include in one or more Monitor Views. A user gets alerts using at least one of the built-in Alarm Plugins.

The Display name of the Resource is the same as the name of the Job in SQL Server. The Jobs group by the Category name 'SQL Jobs':
A Monitor View filtered on the SQL Jobs Category with one job in Error, SQL Job failed (7.12)
Here's an example of a Monitor View filtered by the 'SQL Jobs' Category.

graph LR subgraph "Configuration" c["fal:fa-code 1 SQL Job"] --> r[fal:fa-lightbulb 1 Resource] end

This diagram illustrates how each SQL Job is mapped to a monitored Resource in Nodinite for job tracking.

What are the key features of Monitoring SQL Jobs?

  • State Evaluation – Instantly monitors and evaluates the state of each SQL Job
  • Actions – Perform Remote Actions such as enable, disable, start, stop, and edit thresholds directly from Nodinite
  • Auto Discovery – Automatically detects all jobs in your SQL Server environment
  • Centralized Visibility – View and manage all jobs in a single dashboard
  • Proactive Alerts – Receive notifications for job failures, delays, or abnormal durations

Note

SQL Express and Azure SQL Databases do not have a SQL Agent, so the SQL Jobs feature is not available.


What is evaluated for SQL Jobs?

The different possible evaluated states for your SQL Jobs are provided in the table below:

State Status Description Actions
🚫 Unavailable Resource not available Evaluation of the 'SQL Job' is not possible due to network or security-related problems Review prerequisites
❌ Error Error state raised SQL Job reports one or more major problems/errors by raising an exception
Job failed on last run
A job that has not run within specified time interval
A job that runs for a longer duration than specified
Edit
⚠️ Warning Warning state raised SQL Job reports one or more minor problems by raising an exception with state warning
A disabled job
A job not running
A job that has never run
A job that has not run within specified time interval
A job that runs for a longer duration than specified
Edit
✅ OK Online SQL Job is valid, executes, and reports that no problems were detected Edit

Tip

The System Administrator can override the Monitoring state using the Expected State feature on the Resource within Nodinite.


How do I configure the thresholds for SQL Jobs?

There are two different ways to configure thresholds for SQL Jobs:

Global Configuration

SQL Server Jobs are included in the Monitoring when the checkbox Enable monitoring of SQL Jobs is checked from within the Remote Configuration dialogue for the Database Monitoring Agent.

In the Remote Configuration, open the SQL Servers tab, expand the SQL Server Instance accordion, and click its Jobs tab. The Global sub-tab holds the thresholds for all jobs of the instance; the Specific sub-tab holds the jobs with their own thresholds.
The Jobs tab of SQL Server Instance localhost in the Remote Configuration, Global sub-tab with Warning and Error Time Span, Duration Warning and Error, and Description (7.12)
Here's an example of the Jobs tab with global monitoring thresholds

The System Administrator can manage the following properties:

  • Enable SQL Jobs Monitoring – When checked, SQL Jobs Monitoring is enabled
  • Allowed Timespan for last evaluated run, expressed using timespan property: (days.hours:minutes:seconds)
    • ⚠️ Warning: Allowed time before state evaluates as Warning
    • ❌ Error: Allowed time before state evaluates as Error
  • Duration for last evaluated run, expressed in seconds (any negative value disables the check)
    • ⚠️ Warning: Allowed time before the job is evaluated as in the Warning state
    • ❌ Error: Allowed time before the job is evaluated as in the Error state
  • Description – A user-friendly description for the Job

Info

Timespan format is (days.hours.minutes.seconds)


Actions

The Database Monitoring Agent category SQL Jobs supports the following Remote Actions in the Control Center part of the Action menu:

Action menu of a SQL Job Resource with Details, Edit thresholds, View history, Start at step, Ignore job failure, Start, Stop, Enable, and Disable under Control Center (7.12)
List of available Remote Actions for the SQL Jobs Category.

Start, Stop, Enable, Disable, and Ignore job failure ask you to confirm first: Execute action? Are you sure that you want to execute action '…' on resource '…'? Click Yes to proceed.

Details

Details shows the job as SQL Server Agent knows it: Enabled, Job Category, Owner, SQL Description, Created and Modified, Last Run Status and Last Run Duration, the Schedules table (Name, Occurs, Interval, Time, Next run in, Active, Created), and the Steps table (#, Name, Type, On Success, On Failure, Retry Attempts, Retry Interval).
Details of a SQL Job with its properties, the weekly schedule, and two steps (7.12)
Here's an example of the Details of a SQL Job.

Enable Job

Click Enable in the Action menu and confirm with Yes to enable a disabled job.

Disable Job

Click Disable in the Action menu and confirm with Yes to disable an enabled job.

Edit thresholds

The following dialogue is displayed after clicking the action button menu item Edit thresholds.
Edit SQL Job thresholds dialog with Description, Expected State is Enabled, Number of retries, Clear date time (UTC), and the Timespan and Duration thresholds (7.12)
Here's an example of dialogue changing global thresholds to specific thresholds.

The Default values are set using Remote Configuration. Review the Global configuration section of this document for further details.

The same properties as described in the Global configuration are available and in addition the following can be managed:

  • Expected State is Enabled – Checked if the job is expected to be enabled
  • Number of retries – The maximum number of consecutive failures before the alert is raised; use it to suppress occasional errors
  • Clear date time (UTC) – Goes with Ignore job failure; enter the date time in the format of the current culture
  • Timespan thresholds – Warning and Error as days.hours:minutes:seconds; -1 turns the check off
  • Duration thresholds (seconds) – Warning and Error; -1 turns the check off

View history

View the last number of runs for the selected job. The number of available logs is managed within SQL Server Management Studio (SSMS).
View history of a SQL Job: 50 runs found, showing 25 of 50 on page 1 of 2, with Date time, Message, Duration, and Server (7.12)

The list is paginated (50 runs found. Showing 25 of 50 runs on page 1 of 2), with the columns Date time, Message, Duration, and Server. Expand a run to see its steps (Time, #, Step name, Message, Duration).

You can update the list by clicking the Refresh button in the upper right corner.

Start Job

The following dialogue is displayed after clicking the action button menu item Start. Click Yes to Start the Job.
Execute action? confirmation to start the job Monitor BizTalk Server (BizTalkMgmtDb) (7.12)
Here's an example of confirmation dialogue to start Job.

The Action dialog shows Communicating with the Agent... while the agent starts the job.
Action dialog with Communicating with the Agent while the job starts (7.12)
The agent starts the job.

Review the View history to get the outcome. A run started from Nodinite shows as invoked by the agent's service account (The Job was invoked by User … The job was requested to start at step 1).

Start at step

Start at step opens the Start SQL Job at Step dialog with the job's steps, each with a Start button.
Start SQL Job at Step dialog with the job properties and a Start button for each of the two steps (7.12)
Here's an example of SQL Job with multiple steps

Click Start on the step to start from. You will then be prompted with the following dialogue:
Confirm start at step operation
Here's an example of confirmation dialogue to start job at selected step

Review the View history to manually get the outcome.

Ignore job failure

Ignore job failure clears the last failure: the job evaluates as OK until it fails again. The matching field is Clear date time (UTC) in Edit thresholds.

Stop Job

Click Stop in the Action menu and confirm with Yes to stop a running job.

Review the View history to manually get the outcome.

Save

You must click 'Save' or 'Save and close' for changes to persist. The new settings/thresholds are evaluated on the next synchronization.
Save, Save and close, and Close buttons of the Remote Configuration dialog (7.12)
Here's an example of the Save options.

Note

Depending on the synchronization interval set for the agent, there might be a delay before the Web Client reflects upon the change. You can force the agent to synchronize the Configuration for all Nodinite Monitoring Agents.

Save and close – Save and close the dialogue.

Close – Close the dialogue without saving any changes.


Next Steps

SQL Categories

Secure Custom Database Scripts and Actions
Add or manage Monitor View
Database Monitoring Agent
Monitoring Agents
Monitor Views
Resources