0

我有一个场景,我必须在每次插入表格后检查条件后发送邮件。

  • 触发是正确的方法吗?

我的第二个问题是采取什么方法

  • 我应该直接从数据库发送邮件吗?(注意:我的数据库服务器和邮件服务器在不同的网络中,可能需要创建防火墙规则例外)

  • 我应该有一个CLR-sproc。从数据库中,我调用 CLR-sproc 和 CLR-sproc 调用服务并从那里发送邮件。

有更好的方法吗?

4

2 回答 2

1

SQL Server DBMail 和 CLR proc 都将使用 SMTP 发送电子邮件。那么,为什么要增加复杂性呢?

此外,通过 DBMail 或 CLR 发送电子邮件将需要在 INSERT 上进行处理。请注意,DBMail 使用队列,因此影响小于运行 CLR 过程。

触发器是一个很好的方法。但是,请考虑使用存储过程对在事务之外发送的电子邮件执行 ISNERT(由于 INSERT,您将有一个隐含的)。发送触发器意味着它是INSERT 的隐式事务的一部分。

从安全角度来看,SQLMachine 仍然需要访问 SMTPMachine,无论是使用 DBMail 还是 CLR Proc 的服务调用。

于 2013-01-16T09:41:06.920 回答
0

1)是的,触发器将是每次插入后执行操作的正确方法

2) SQL server 有一个名为Database Mail的特性,看起来它会做你想做的事情(尽管我自己从未使用过它)

于 2013-01-16T09:29:27.613 回答