我試圖使用sp_send_dbmail從計劃SQL代理作業發送電子郵件並收到以下錯誤:sp_send_dbmail錯誤在Microsoft SQL代理作業
消息22050,級別16,狀態1,行0 錯誤格式查詢,可能無效參數 消息14661,級別16,狀態1,過程sp_send_dbmail,行504 查詢執行失敗:消息15404,級別16,狀態19,服務器MyServer,行1 無法獲取有關Windows NT組/用戶'MyDomain \ sqlagent',錯誤代碼0x5。
下面是從作業步驟代碼:
DECLARE @SQL NVARCHAR(400)
SELECT @SQL = 'SELECT COUNT(staff_id) FROM Staff'
EXEC msdb.dbo.sp_send_dbmail
@recipients = '[email protected]',
@subject = 'Email Alert',
@body = 'Test',
@query = @SQL,
@execute_query_database = 'MyDB'
SQL代理在一個域帳戶下運行[MYDOMAIN \ SQLAGENT。我在MyDB數據庫中授予此用戶db_owner權限,並將其作爲msdb中DatabaseMailUserRole的成員添加。仍然沒有運氣。如果我刪除@query和@execute_query_database參數,它將發送一個'測試'電子郵件。但是,我需要附加查詢的結果。
任何幫助表示讚賞,謝謝。
Nic,感謝您的提供。我運行了你推薦的查詢並收到了我收到的同樣的消息。我按照你的建議設置了AD權限[它沒有],並且之後所有東西都像魅力一樣工作。 SQL代理作業運行並且電子郵件成功發送。 – Brad
很高興爲你效力。最近我遇到過這個問題。 – Nic
這也解決了這個問題,其他答案沒有(甚至在其他類似的SO問題中)。 –