SQL Agent bildirimlerini Kullanarak Job’larınızı Güvende Tutun SQL Server Agent, SQL Server içinde çok çeşitli görevleri çalıştırmanıza izin verir. built-in notification system, operatörleri tanımlamanıza ve bir iş başarısız olduğunda onlarla iletişim kurmanıza olanak tanır. Bir Agent job başarısız olduğunda bunu hızlı bir şekilde çözebilmek, başka birinin size başarısız olduğunu bildirmesinden daha iyidir. Bildirim olmadan tüm…
SQL Agent bildirimlerini Kullanarak Job’larınızı Güvende Tutun
SQL Server Agent, SQL Server içinde çok çeşitli görevleri çalıştırmanıza izin verir.
built-in notification system, operatörleri tanımlamanıza ve bir iş başarısız olduğunda onlarla iletişim kurmanıza olanak tanır.
Bir Agent job başarısız olduğunda bunu hızlı bir şekilde çözebilmek, başka birinin size başarısız olduğunu bildirmesinden daha iyidir.
Bildirim olmadan tüm Agent jobları nasıl listelenir?
İş adı listesini almak için aşağıdaki TSQL kodunu kullanabilirsiniz.
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)
Sorun nasıl çözülür?
Öncelikle, Veritabanı postasını ve bir operatörü yapılandırdığınızdan emin olun.
Ardından, iş hatası bildirimini etkinleştirmek için SQL Server Agent işini güncelleyin:
E-posta bildirimi olmayan tüm işler için değişiklik komut dosyası oluşturmak üzere aşağıdaki TSQL komut dosyasını da kullanabilirsiniz. @notify_email_operator_name öğesini yalnızca gerektiği şekilde değiştirin.
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
Komut dosyasının örnek olarak üreteceği çıktı:
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’;
Değişikliği uygulamak için çıktı betiğini gözden geçirin ve çalıştırın.
Size ve Veritabanlarınıza Yardımcı Olmak İçin Bekliyoruz!