【发布时间】:2013-12-22 19:26:44
【问题描述】:
我有带有 Management Studio Express 的 SQL Server 2005。有没有办法在 SQL 触发器中发送电子邮件而无需购买代理或数据库邮件程序?
我听说过有关 sendEmail 程序的一些信息,但我不知道如何配置它并发送邮件。
【问题讨论】:
标签: sql email send sql-server-2005-express
我有带有 Management Studio Express 的 SQL Server 2005。有没有办法在 SQL 触发器中发送电子邮件而无需购买代理或数据库邮件程序?
我听说过有关 sendEmail 程序的一些信息,但我不知道如何配置它并发送邮件。
【问题讨论】:
标签: sql email send sql-server-2005-express
我不会在触发器中这样做 - 毕竟,发送电子邮件可能需要相当长的时间 - 触发器应该简洁并且做到最少可能的工作量。不要在触发器中进行大量耗时的处理!
我会这样做:
触发器将它需要的一些信息写入“命令”表 - 这很快,很简单,根本不需要太多时间
一个单独的异步进程(完整版的 SQL Server 代理作业,甚至是 C# 应用程序)以指定的时间间隔扫描此“命令”表,如果有发送电子邮件的命令,它发送该电子邮件(处理所有可能的延迟和重试等)
这样,您的触发器将很快并且不会导致数据库处理延迟,并且可以使用您可能拥有的任何软件组件发送电子邮件 - 异步,与您的主应用程序分开。您的主应用程序保持快速响应。
【讨论】: