我正在使用Server的sp_send_dbmail存储过程通过数据库发送邮件。
但是当我执行这个过程时,它会关闭db邮件过程。我试着用sysmail_start_sp重新启动它。但7-8秒后又要关闭了。
我尝试使用下面的代码:
EXEC msdb..sp_send_dbmail @profile_name = 'Test',
@recipients = 'abc@gmail.com',
@subject = 'test mail',
@body_format = 'HTML',
@body = 'test mail',
@from_address = 'xyz@yahoo.com'当我试图检查错误日志时,我发现了以下错误:
消息: 对数据库的读取失败。原因:错误描述是‘此位置不允许空白。’..Data: System.Collections.ListDictionaryInternalTargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand(System.Data.SqlClient.SqlCommand)HelpLink: NULLSource: DatabaseMailEngineStackTrace Information===================
此外,当我检查sql电子邮件日志历史记录时,我发现了以下错误:
邮件没有排队。数据库邮件停止。使用sysmail_start_sp启动数据库邮件。
发布于 2017-07-06 08:05:21
每当您尝试从数据库邮件发送测试邮件时,它都会抛出以下错误消息:
Msg 14641,16级,状态1,过程sp_send_dbmail,邮件未排队。数据库邮件停止。使用sysmail_start_sp启动数据库邮件。
发布于 2017-06-12 12:51:26
有一些问题需要排除,首先要通过执行以下命令检查数据库邮件是否启用
SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb'如果上面的结果是0,则通过以下本指南激活service
如果上面的结果是1,那么检查Database的状态,执行以下语句:
EXECUTE dbo.sysmail_help_status_sp若要在邮件主机数据库中启动数据库邮件,请在msdb数据库中运行以下命令:
EXECUTE dbo.sysmail_start_sphttps://stackoverflow.com/questions/32722006
复制相似问题