Другое различие между ними состоит в том, что сообщение электронной почты, отправленное с помощью sp_send_dbmail (), будет откатываться (не отправляться), если откат транзакции. Этого не происходит с электронной почтой, отправленной с помощью xp_sendmail ().
Итак, если вы хотите, чтобы сообщение электронной почты отправлялось независимо от конечного результата транзакции, вам нужно использовать xp_sendmail ().
Я отправлял электронные письма, чтобы уведомить пользователей, если SP не смог завершить свою обработку. Конечно, я откатывал транзакцию в этом случае. Когда я переключился на sp_send_dbmail (), транзакции, которые откатывались (те самые, от которых я хотел получать уведомление по электронной почте), перестали отправлять электронные письма.