SQL Server Health Check

Keep Your Jobs Safe Using SQL Agent Notifications

Updated October 29, 20253 min read

Written byMark Varnas

SQL Server Agent jobs without notifications

SQL Server Agent permits you to run a wide variety of tasks within SQL Server.

Its built-in notification system allows you to define operators and contact them when a job fails.

Being able to quickly resolve the issue when a SQL Server Agent job fails is better than having someone else notify you that it has failed.

How to list all the SQL Server Agent jobs without notifications?

You can use the T-SQL script below to get the job name list.

SELECT j.[name] AS [JobName]
FROM [msdb].[dbo].[sysjobs] j
LEFT JOIN [msdb].[dbo].[sysoperators] o ON (j.[notify_email_operator_id] = o.[id])
WHERE j.[enabled] = 1
	AND j.[notify_level_email] NOT IN (
		1
		,2
		,3
		)

How to fix the issue?

First, make sure you have configured the Database mail and an operator.

Then, update the SQL Server Agent job to enable job failure notification:

  1. Open SQL Server Management Studio (SSMS).
  2. Click on SQL Server Agent, expand the Jobs and right-click it.
  3. Go to the Notifications tab and click checkbox to enable Email.
  4. Select the correct Operator and choose When the job fails.
SQL Server Agent job notification
SQL Server Agent job notification

You may also use the T-SQL script below to generate the change script for all jobs that don't have email notifications.

Only change @notify_email_operator_name as needed.

USE MSDB GO

SELECT 'EXEC msdb.dbo.sp_update_job @job_name=[' + name + '], @notify_level_email=2, @notify_email_operator_name=N''DBA Alerts''; ' Command_to_execute
FROM MSDB.dbo.sysjobs
WHERE [Notify_Level_Email] = 0
	AND [Enabled] = 1

Here's an example of the output the script will generate:

EXEC msdb.dbo.sp_update_job @job_name = [JOBNAME1]
	,@notify_level_email = 2
	,@notify_email_operator_name = N'DBA Alerts';

EXEC msdb.dbo.sp_update_job @job_name = [JOBNAME2]
	,@notify_level_email = 2
	,@notify_email_operator_name = N'DBA Alerts';

EXEC msdb.dbo.sp_update_job @job_name = [JOBNAME3]
	,@notify_level_email = 2
	,@notify_email_operator_name = N'DBA Alerts';

Review and run the output script to implement the change.

More information

Discover More

Discover what clients are saying about Red9

Red9 has incredible expertise both in SQL migration and performance tuning.

The biggest benefit has been performance gains and tuning associated with migrating to AWS and a newer version of SQL Server with Always On clustering. Red9 was integral to this process. The deep knowledge of MSSQL and combined experience of Red9 have been a huge asset during a difficult migration. Red9 found inefficient indexes and performance bottlenecks that improved latency by over 400%.

Rich StaatsRich StaatsCloud EngineerMetalToad
See more testimonials