我们希望使用问题跟踪软件和 SQL Server 数据库创建一个电子邮件通知系统。目标是在满足一些条件时发送电子邮件。
这是为了满足客户要求的自定义通知。例如,如果因软件问题开具了工单,客户希望向 Y 发送电子邮件,如果因硬件问题开具了工单,客户希望向 Z 发送电子邮件。
SQL Server Notification Services 似乎具有该功能,但我们对 GUI 感兴趣,而不是每次都手动编写查询。我们还需要某种方法来管理它们,因为自定义通知的数量可能达到数千个。
编辑:
这些都是很好的建议,但有一个要求是,我们需要一个用于管理规则的 GUI。我们不想每次需要创建或更改通知时都手写查询。
我们知道我们可以将脚本、触发器和计划任务组合在一起,但似乎应该有某种打包产品可以做到这一点。也许最初设置它需要一些数据库技能,但理想情况下,之后它可以由非 DBA 的经理更新。
答案1
您是否在寻找已建好的系统?许多供应商的票务系统已经具备此功能。在我看来,它们中的大多数都有些糟糕,而且有点过度,但它们确实可以安排路线。
或者您有一些系统需要添加通知?
这里的设计构建并不难,但需要一些开发工作。需要一些简单的工具来管理。
答案2
不确定如何与内部产品集成,但你可以看看Quest 的雾灯监控产品。
答案3
您是否可以使用查询设计器并将查询粘贴到存储所有监视器的表(表单字段)中?
然后定期运行一项作业来遍历表并运行查询,使用 dbmail 将邮件发送给您存储在表中并通过 GUI 进行配置的“操作员”。
您不需要执行作业,而是可以在每次插入时进行触发器检查,然后使用现在的异步 dbmail 发送邮件。
答案4
因此,您需要一些可扩展的东西。为什么不创建一个可以插入规则的表,first_name、Last_name、email_addr、table 或 table.column,以便将电子邮件规则添加到此表中。然后运行一个预定的 SQL 脚本,该脚本通过查阅规则表执行通用查询,并检查数据库中是否有任何规则匹配。通过编写脚本,您可以控制作业运行的频率,还可以控制它发送电子邮件的方式,即如果它是使用 DBI 数据库调用的 Perl 脚本,您还可以使用 Perl Sendmail 模块直接从同一脚本中发送电子邮件。
您甚至可以从纯文本文件或基于用户规则的 XML 文件开始……
如果产品本身不支持此功能,那么您需要编写一个可以自行安排的自动化脚本。另一种选择可能是两者的混合,使用数据库触发器 ON INSERT 来触发执行检查和电子邮件的脚本/sql。
只需用一个简单的 Web 前端包装此过程即可添加您的规则。SQL 将基本保持不变且通用。您只需要一个表单来插入/删除/更新规则行。