首先你需要知道你要做的幾部:
1 每個數據庫都有自己的 SERVICE BROKER 很多SQL SERVER內部服務依賴它
2 啟動 SERVICE BROKER 需要
1 STOP 你的 SQL SERVER AGENT (就是說SQL server 代理)
2 alter database helpdesk2 set enable_broker ( 在腳本中運行這個腳本)
有的時候啟動不了你的SERVICE BROKER原因就在於你沒有關閉你的SQL SERVER AGENT
另外如果你要打開BROKER
你需要 管理員的權限 。
其次: 等你確認上面的你都完成了,下面就可以進入我們期待已久的主要過程了。 ↓↓↓

其次 :如果還出現錯誤。請按照下面的操作進行。

--- 我自己使用outlook 郵箱發送成功了。
再次給大家看看具體的。

最后 給大家上一個網友傳的案例:

最最后 我們對郵件代碼來分析一下:
--本文示例SQL:
USE msdb --使用的郵件服務器
GO ---不解釋
--以下是正常的SQL語句
--你要做什么事就怎么寫
DECLARE @cnt INT;
DECLARE @emailBody VARCHAR(4000);
SELECT @cnt=COUNT(*) FROM ng0002.dbo.secuser;
IF @cnt>100 -- 可以使用條件語句哦~~
BEGIN
SELECT @emailBody='數據庫用戶表記錄數已達:'+convert(varchar,@cnt) ;
Exec dbo.sp_send_dbmail --使用的配置的郵件名
@profile_name='SQLMailConfig', --不清楚
@recipients='subscriber@126.com', -- 收件人
@subject='用戶數預警', --主題
@body=@emailBody --內容
--還可以有查詢(下面的另一個代碼)
END
--上述語句的意思就是,如果IF成立 就 發送郵件,郵件發送的內容。
--------例子2
USE msdb
GO
Exec msdb.dbo.sp_send_dbmail
@profile_name='SQLMailConfig',
@recipients='subscriber@126.com',
@query='select logid,u_name from ng0002.dbo.secuser', --這是一個查詢
@subject='用戶數預警',
@body='查詢結果,詳見附件',
@attach_query_result_as_file =1,--查詢結果以附件形式發送
@query_attachment_filename ='查詢結果.Txt'--郵件附件名稱
GO
到此,使用SQL發郵件的功能和可能遇到的問題應該全部解決了。
如果其他問題,請留言~~~
參考網址:
http://www.2cto.com/database/201403/289114.html
http://answers.microsoft.com/zh-hans/outlook_com/forum/oemail-osend/%E8%AF%B7%E9%97%AEoutlookcom%E7%9A%84imap%E6%9C%8D/dbda3ec9-291b-4763-b7f6-793f2724e827
http://jingyan.baidu.com/article/d713063523564f13fcf47570.html
http://zhangkui.blog.51cto.com/1796259/340557/
-------------------------------------------------上面我們配置好了sql 郵件服務功能-------------------------------------
接下來我們就說說 我們平時使用sql代理作業 利用郵件功能給我們發送作業執行情況。
所有的基礎都是 你要開啟SQL server的代理服務
第一步:當然也就是上面所說的 配置 sql 郵件服務功能。
第二步:在sql server 代理中設置操作員。 詳細見下圖
第三步:在你的作業中設置 【通知】選項中填寫郵件信息。
詳細:

