差异xp_sendmail和sp_send_dbmail proc

6 sql-server sqlmail

我可以问一下xp_sendmailsp_send_dbmailproc 之间的区别是什么?它们都向指定的收件人发送电子邮件,其中可能包含查询结果集附件.....

有什么不同?

gbn*_*gbn 16

xp_sendmail需要在服务器上安装MAPI客户端,例如Outlook.这是SQL Server 2000及之前的唯一选项.

sp_send_dbmail 是一个简单的SMTP解决方案,为SQL Server 2005+添加

sp_send_dbmail 到目前为止好多了.


小智 6

两者之间的另一个区别是,如果事务被回滚,则使用sp_send_dbmail()发送的电子邮件将回滚(不发送).使用xp_sendmail()发送的电子邮件不会发生这种情况.

因此,如果您希望发送电子邮件而不管交易的最终结果,您需要使用xp_sendmail().

如果SP无法完成处理,我发送电子邮件通知用户.当然,我在那次事件中回滚了交易.当我切换到sp_send_dbmail()时,正在回滚的事务(我想要收到电子邮件通知的事务)停止发送电子邮件.