我有SQL Server 2005和Management Studio Express。有没有办法在SQL触发器中发送电子邮件而无需购买代理或数据库邮件程序?
我听说过有关sendEmail程序的内容,但我无法弄清楚如何配置它并发送邮件。
答案 0 :(得分:1)
我不会在触发器中执行此操作 - 毕竟,发送电子邮件可能需要相当长的时间 - 并且触发器应该精简且意味着并执行至少工作量可能。不要在触发器中进行大量耗时的处理!
我要做的是:
触发器将所需的一些信息写入“命令”表 - 这很快,很容易,而且不需要花费太多时间
单独的异步进程(完整版中的SQL Server代理作业,甚至是C#应用程序)以指定的时间间隔扫描此“命令”表,如果有命令发送电子邮件,它发出该电子邮件(处理所有可能的延迟和重试等)
这样,您的触发器将很快并且不会导致数据库处理延迟,并且电子邮件可以与您可能拥有的任何软件组件一起发送 - 异步,与主应用程序分开。您的主要应用程序仍然快速响应。