Database Mail我之前用都設定完就不管它了,沒特別研究,今天剛好誤判一封mail怎麼沒收到,才想說有沒有相關指令可查詢歷史紀錄的,才發現原來有好多指令可用喔,連發送過的郵件與發送失敗的原因都查的到說,特此紀錄一下,以免忘記
以下指令在SQL 2008 R2也可用喔
--列出Database Mail設定檔
以下指令在SQL 2008 R2也可用喔
--列出Database Mail設定檔
SELECT * FROM msdb.dbo.sysmail_profile
--列出Database Mail帳戶
SELECT * FROM msdb.dbo.sysmail_account
--列出設定檔對應的帳戶
select * from msdb.dbo.sysmail_profileaccount
--列出主要的設定檔
select * from msdb.dbo.sysmail_principalprofile
--Mail Server相關設定
SELECT * FROM msdb.dbo.sysmail_server
SELECT * FROM msdb.dbo.sysmail_servertype
--列出Database Mail 帳戶的相關資訊(密碼除外)。
EXECUTE msdb.dbo.sysmail_help_account_sp
--列出一或多個郵件設定檔的相關資訊。
EXECUTE msdb.dbo.sysmail_help_profile_sp
--列出一或多個Database Mail 設定檔的相關帳戶。
EXECUTE msdb.dbo.sysmail_help_profileaccount_sp
--列出Database Mail系統參數
SELECT * FROM msdb.dbo.sysmail_configuration
--查看所有訊息的狀態
SELECT * FROM msdb.dbo.sysmail_allitems ORDER BY send_request_date DESC
--查看傳送成功的訊息
SELECT * FROM msdb.dbo.sysmail_sentitems ORDER BY send_request_date DESC
--查看未傳送或正在重試狀態的訊息
SELECT * FROM msdb.dbo.sysmail_unsentitems ORDER BY send_request_date DESC
--查看傳送失敗的訊息
SELECT * FROM msdb.dbo.sysmail_faileditems ORDER BY send_request_date DESC
--查看mail失敗的原因
SELECT SUBSTRING(fail.subject,1,25) AS 'Subject',
fail.mailitem_id,
LOG.description
FROM msdb.dbo.sysmail_event_log LOG
join msdb.dbo.sysmail_faileditems fail
ON fail.mailitem_id = LOG.mailitem_id
WHERE event_type = 'error'
--傳回郵件和狀態佇列
EXEC msdb.dbo.sysmail_help_queue_sp
--顯示Database Mail 佇列的狀態
EXEC msdb.dbo.sysmail_help_status_sp
--可啟動Database Mail 佇列
--可啟動Database Mail 佇列
exec dbo.sysmail_start_sp
--可停止Database Mail 佇列
exec dbo.sysmail_stop_sp
0 意見:
張貼留言