blog.Toby

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            130 隨筆 :: 2 文章 :: 150 評論 :: 0 Trackbacks
          SQL server 2000郵件配置方法

          --========================================
          --SQL 郵件配置
          --outlook 2003,sql server 2000,163郵局
          --========================================
          OutLook配置:OutLook 2000 網上說經常發不成功,我用的是OutLook 2003,打開sql server 2000的企業管理器,展開支持服務,右擊“sql 郵件”點屬性。這時里面就會出現有outlook了。選擇它就可以了。
          sql server 2000:在控制面板中打開“服務”,找到:MSSQLSERVER 和 SQLSERVERAGENT,其登錄方式不應該為“本地系統”,應該是具有郵件客戶端程序操作權限的 Windows 用戶,比如 Windows 管理員,修改方法為,雙擊該服務,切換到“登錄”標簽,選擇“此帳戶”,點擊“瀏覽”選擇一個用戶,并輸入密碼,點擊“確定”。右鍵,重新啟動這兩個服務。展開“管理”,“SQL Server 代理”,在“操作員”上點擊右鍵,“新建一個操作員”,這個操作員就是我們要向其發送電子郵件的人。在“企業管理器”中,展開“支持服務”,在“SQL 郵件”上點擊右鍵,“屬性”,在下拉列表框中選擇“配置文件名”,點擊測試,檢查是否成功.如果我們要對作業進行監視,比如當數據庫備份失敗時向操作員發送郵件,就得在“SQL Server 代理”的“作業”列表中打開對應作業的屬性,切換到“通知”標簽,選擇相應操作員即可。至此,一個 SQL 郵件配置就完成了,請確保您的 SQL Server Agent 隨時都在運行。請確保您的 SQL Server 補丁是最新的。

          要注意的幾個問題:
          1.sql server 2000的啟動帳戶要和sqlagent的啟動帳戶相同。并且不能用系統帳戶。
          2.smtp服務器是否需要驗證。hotmail的免費信箱好像不可以在outlook里設置,最好用OutLook 2003
          3.在sql郵件運行過程中不能關閉outlook,否則不能發送郵件,要先啟動OutLook 2003 再啟動 SQL ,可執行exec startmail /exec stopmail 來啟動或停止sqlmail.

          --下面為測試代碼,可將直接放入作業里,增加調度即可運行.
          --=======================================
          --將存儲過程的結果發送給指定聯系人
          --=======================================

          exec xp_sendmail [url=mailto:'***@hotmail.com',@query='sp_configure']'***@hotmail.com',@query='sp_configure'[/url]
          --============================================
          --統計northwind數據庫中相關信息
          --并將結果發送到指定的信箱
          --原理:northwind數據庫中沒有xp-sendmail
          --存儲過程,所以采用方式為:
          --將查詢結果寫入一個全局臨時表
          --然后在刪除全局臨時表
          --===========================================

          set nocount on
          select case when(grouping(od.productid)=1)then '定單總計:'
          else isnull(od.productid,'空值') end as productid,
          case when (grouping(od.orderid)=1)then '產品總計:'
          else isnull(od.orderid,'空值')end as orderid,sum(od.quantity) as'總計'
          into ##boyi55
          from (select convert(nvarchar(10),productid) as productid,convert(nvarchar(10),orderid) as orderid,quantity from [order details]) as od
          group by od.productid,od.orderid
          with cube
          exec master..xp_sendmail @recipients='h11h99@126.com;fengjicai@hotmail.com;queeny_fei@yahoo.com.cn',
          @subject='northwind數據庫中order details相關信息匯總結果',
          @message='此信息由sql server 2000數據庫作業自動發送,如果輸出錯誤,請直接回復e-mail到:[url=mailto:fengjicai@hotmail.com]***@hotmail.com[/url]',
          @query='select * from ##boyi55',
          @width=100--設置查詢的輸出文本行寬
          drop table ##boyi55
          set nocount off

          --===========================================
          --將結果作為附件文件發送
          --===========================================

          exec master..xp_sendmail @recipients='***@hotmail.com',
          @query='select * from information_schema.tables',
          @subject='SQL Server report',
          @message='The contents of information_schema.tables:',
          @attach_results='true',
          @width= 250
          ======================

           

          --===========================================
          --===========================================

          xp_sendmail {[@recipients =] "recipients [;...n]"}
            [,[@message =] "message"]
            [,[@query =] "query"]
            [,[@attachments =] attachments]
            [,[@copy_recipients =] "copy_recipients [;...n]"
            [,[@blind_copy_recipients =] "blind_copy_recipients [;...n]"
            [,[@subject =] "subject"]
            [,[@type =] "type"]
            [,[@attach_results =] "attach_value"]
            [,[@no_output =] "output_value"]
            [,[@no_header =] "header_value"]
            [,[@width =] width]
            [,[@separator =] "separator"]
            [,[@echo_error =] "echo_value"]
            [,[@set_user =] "user"]
            [,[@dbuse =] "database"]
            
            其中@recipients是必需的
            
            參數說明:
            
            參數 說明
            @recipients 收件人,中間用逗號分開
            @message 要發送的信息
            @query 確定執行并依附郵件的有效查詢,除觸發器中的插入表及刪除表外,此查詢能引用任何對象
            @attachments 附件
            @copy_recipients 抄送
            @blind_copy_recipients 密送
            @subject 標題
            @attach_results 指定查詢結果做為附件發送
            @no_header 不發送查詢結果的列名
            @set_user 查詢聯接的用戶名,默認為Guset
            @dbuse 查詢所用的數據庫,默認為缺省數據庫

          posted on 2008-01-18 10:17 渠上月 閱讀(1725) 評論(0)  編輯  收藏 所屬分類: sql (sqlServer)
          主站蜘蛛池模板: 莱芜市| 台北市| 祁阳县| 麻阳| 渝中区| 阜阳市| 黄平县| 甘肃省| 永州市| 京山县| 鲁山县| 香港| 齐河县| 丽江市| 湘潭市| 乐昌市| 寿光市| 剑川县| 新安县| 二连浩特市| 恩施市| 清河县| 贺州市| 巴彦淖尔市| 晋宁县| 台南市| 海城市| 伊春市| 青海省| 无锡市| 政和县| 德庆县| 青河县| 平凉市| 明光市| 张北县| 姚安县| 吴川市| 巴林右旗| 广灵县| 共和县|