Mik*_*ike 30 sql-server alert sql-server-agent sql-server-2008
我在SQL Server 2008中有一个作业设置,当作业失败时,它会向一个操作员发送通知电子邮件.
问题:是否可以设置发送给该特定作业的多个操作员的通知电子邮件?
我相信一个可能的解决方法是为每个给定的严重性为数据库创建大量警报,但我希望有一种更简洁的方法来执行此操作.如果我要走这条路线,失败的工作可能会触发哪些严重性错误?(我认为我不会要求全部25个这样的东西)
这可以通过sql命令来添加更多运算符来通知失败吗?通过UI,您只能选择单个运算符.
Mar*_*ith 33
问题:是否可以设置发送给该特定作业的多个操作员的通知电子邮件?
我不相信这是可能的.
当然,查看[msdb].[dbo].[sysjobs]各个operator_id列的结构都在本表中,这将支持1到多个不可能的想法.
但一些替代品
sysoperators对于适合的字符串是有用的nvarchar(100) Iai*_*der 28
如果意图是在作业失败时应通知组织中的多个人,则可以通过用分号分隔每个邮箱来更改运营商的电子邮件地址以包含多个邮箱.
我假设您的通知运营商名为JobWatcher:
EXECUTE msdb.dbo.sp_update_operator
@name = N'JobWatcher',
@email_address = N'person1@company.org;person2@company.org';
Run Code Online (Sandbox Code Playgroud)
现在person1@company.org和person2@company.org将在作业失败时收到邮件.
小智 24
我用它来通知多个最简单的方法"OPERATORS"上"JOB FAILURE"是:
在SSMS>SQL Server Agent>Operators创建新的OPERATOR或EDIT现有的,并添加;在"E-mail name:"框中分隔的其他电子邮件地址.
dba*_*ker 11
所以这就是我想出的一种解决方法,如果目的是如果工作失败应该通知组织中的多个人,而不同的多人组成功。
您会注意到步骤 1-3 是计划作业用于的正常任务,就像您为您的任务所做的一样。在这些之前可以有尽可能多的步骤,但流程的最后一步(第 3 步)需要打破“成功”和“失败”以进入单独的电子邮件。此外,所有“失败”都需要继续发送到您的“失败电子邮件”,如下所示。因此,Failure 组会收到电子邮件,并且该作业仍会因历史记录而失败。

您将在作业步骤的高级选项卡中看到更改“成功操作”和“失败操作”方向的选项。

失败电子邮件步骤 - 常规属性

失败电子邮件步骤 - 高级属性

成功电子邮件步骤 - 常规属性

成功电子邮件步骤 - 高级属性

对于其他需要帮助的人。通知不同结果的多个操作员
小智 5
请使用以下脚本增加电子邮件地址的字符长度。
USE mdsdb
GO
ALTER TABLE sysoperators
ALTER column email_address NVARCHAR(2000);
| 归档时间: |
|
| 查看次数: |
54877 次 |
| 最近记录: |