2008-08-12 60 views
4

當我使用sp_send_dbmail存儲過程時,收到一條消息,指出我的郵件已排隊。但是,它似乎從未得到交付。我可以看到他們在隊列中,如果我運行這個SQL:如何讓dbmail處理SQL Server 2005隊列中的項目?

SELECT * FROM msdb..sysmail_allitems WHERE sent_status = 'unsent' 

此SQL返回1:

SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb' 

此存儲過程返回已啓動:

msdb.dbo.sysmail_help_status_sp 

相應的帳戶和配置文件已經建立,並且郵件正在運行。 msdb.dbo.sysmail_event_log中沒有錯誤。

回答

1

可能是巨量的東西。舉例來說,我已經看到了(是的,實際上看到的)這種情況發生之後:

  • 的域控制器重啓
  • Exchange服務器重啓
  • 路由器停電
  • 服務帳戶更改
  • SQL Server中運行了磁盤空間

所以,直到它再次發生,我也不會嚇壞了過去。

2

你試過

sysmail_stop_sp 

然後

sysmail_start_sp 
2

我有同樣的問題,這是我能夠解決它的方式。

轉至Sql Agent >>屬性>>警報系統>>選中DBMail的啓用框並添加一個配置文件。

重新啓動代理,它從那時起工作。

希望這會有所幫助, _Ub