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:
- SQL Server Management Studio’yu (SSMS) açın.
- SQL Server Agent’a tıklayın, jobları genişletin ve sağ tıklayın.
- Bildirimler sekmesine gidin ve E-postayı etkinleştirmek için tıklayın.
- Doğru Operatörü seçin ve “job failed olduğunda” öğesini seçin.
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] = 1Komut 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!
İletişime geçerek hemen destek alabilirsiniz.
İletişim