日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

利用sql server 2005數(shù)據(jù)庫郵件發(fā)送電子郵件

瀏覽:264日期:2023-11-02 15:19:51

隨著技術的不斷進步,我們需要知道在你的信息系統(tǒng)發(fā)生了什么,為了滿足這種日益增長的需求要求有更高級的方法。

能夠迅速和簡單地了解形勢,尤其是了解潛在的問題,這對于我們非常重要。微軟不斷的生產(chǎn)新產(chǎn)品來傳遞這種能力,在SQL Server 2005中可獲得的一些數(shù)據(jù)庫特別選項有:查詢通知、通知服務、服務代理和數(shù)據(jù)庫郵件。

數(shù)據(jù)庫郵件——SQL Server 2005中的一個新型電子郵件發(fā)送平臺。在這篇文章的結(jié)尾,為了確保我們的數(shù)據(jù)庫郵件設置正常工作,我發(fā)送了一封試驗郵件。在本文中,我將基于該郵件來探討在SQL Server 2005中發(fā)送數(shù)據(jù)庫郵件的一些高級功能。

數(shù)據(jù)庫郵件選項

SQL Server 2005數(shù)據(jù)庫郵件為發(fā)送電子郵件信息提供了多種選項。這些選項包括:發(fā)送附件,設置敏感度和重要性,還包括查詢結(jié)果,用HTML格式發(fā)送電子郵件信息。

要在SQL Server 2005中發(fā)送電子郵件,你需要列表A中的腳本來建立一個包含一些數(shù)據(jù)的表格,以便稍后能夠使用查詢結(jié)果選項。腳本建立一個表格并加載一些試驗數(shù)據(jù)。

發(fā)送附件

通過電子郵件發(fā)送文件附件的能力對工作效率來說是十分重要的。下面的腳本將會發(fā)送一封電子郵件,其中包含文件名為FileAttachment.txt的附件,給附件存儲于我的C盤驅(qū)動器上。

你需要確保文件的存在,這樣發(fā)送過程就不會發(fā)生錯誤。

EXEC msdb.dbo.sp_send_dbmail@recipients=N'chapman.tim@gmail.com',@body='Message Body', @subject ='Message Subject',@profile_name ='Database-mailProfile',@file_attachments ='C:FileAttachment.txt';

敏感度和重要性

通常需要將一封郵件標記為敏感或重要,以使得收件人知道這些信息需要小心保護。下面的腳本將會發(fā)送一封郵件,敏感度為私人,重要性為高級。此外,腳本將會復制郵件地址yourname@yourdomain.com到信件中。

EXEC msdb.dbo.sp_send_dbmail@recipients=N'chapman.tim@gmail.com',@body='Message Body', @sensitivity ='Personal', @importance ='High', @copy_recipients ='chapman.tim@gmail.com',@subject ='Message Subject',@profile_name ='Database-mailProfile';

查詢結(jié)果

擁有電子郵件發(fā)送能力的數(shù)據(jù)庫引擎的一個重要特征是它可以讓你向發(fā)送過程傳遞一個查詢。在SQL Mail和Database Mail中都有該特性。Database Mail中的一個新特性是可以將查詢結(jié)果作為附件,這一點在下面的腳本中展示。如果你不將查詢結(jié)果作為一文件,那么它將被放置在郵件正文中。見列表B。

HTML格式的信件

在數(shù)據(jù)庫郵件中我最喜愛的新特征是可以將你的郵件格式化為HTML格式。簡單看來,這沒什么大不了的,但是這確實帶來一些很好的可能性。在前面的例子中,你發(fā)送的查詢結(jié)果包含在郵件正文中,因為該例子只包含一列數(shù)據(jù),所以看起來沒有什么不方便的。

但是,當在查詢結(jié)果集中包含多個域時,格式化變得每況愈下。一個好消息是,可以很簡單的使用SQL Server 2005中的一些XML和HTML新特征來格式化你的查詢結(jié)果集,因此,可以很容易的在信件中查看查詢結(jié)果。列表C中的腳本演示了如何利用查詢結(jié)果發(fā)送一封XML/HTML格式的電子郵件。

當你發(fā)送HTML格式的郵件時,允許你將查詢結(jié)果嵌入到郵件的查詢部分,從而可以將查詢結(jié)果格式化成為更容易看的形式。(雖然,你可能會爭論說我在信件中使用的黃色背景,看起來并不是很舒服。)

可能性

當你能夠從數(shù)據(jù)庫引擎發(fā)送電子郵件時,這就引起了很多可能性。加上一些額外的邏輯和構(gòu)建,你就可以編寫一個國產(chǎn)郵件系統(tǒng),這樣就可以確保你總能找到想要找的人。在我的關于數(shù)據(jù)庫郵件系列三中,我將介紹如何書寫這樣一個應用。

Tim chapman是在位于路易斯維爾一家銀行工作的SQL Server數(shù)據(jù)庫管理員,有7年多的IT經(jīng)驗,同時,他還獲得了微軟SQL Server 2000 和SQL Server 2005認證。

IF EXISTS(SELECT name from master..sysdatabases where name = 'SalesDB') DROP DATABASE SalesDBCREATE DATABASE SalesDB;USE SALESDB;CREATE TABLE SalesHistory( ;SaleID INT IDENTITY(1,1), Product VARCHAR(30), SaleDate SMALLDATETIME, SalePrice MONEY)DECLARE @i SMALLINTSET @i = 1WHILE (@i <=100)BEGIN INSERT INTO SalesHistory ;;;;(Product, SaleDate, SalePrice) VALUES ('Computer', DATEADD(mm, @i, '3/11/1919'), DATEPART(ms, GETDATE()) + (@i + 57) ) INSERT INTO SalesHistory (Product, SaleDate, SalePrice) VALUES ('BigScreen', DATEADD(mm, @i, '3/11/1927'), DATEPART(ms, GETDATE()) + (@i + 13) ) INSERT INTO SalesHistory (Product, SaleDate, SalePrice) VALUES ('PoolTable', DATEADD(mm, @i, '3/11/1908'), DATEPART(ms, GETDATE()) + (@i + 29) ) SET @i = @i + 1ENDEXEC msdb.dbo.sp_send_dbmail@recipients=N'chapman.tim@gmail.com',@body='Message Body', @subject ='Message Subject',@profile_name ='DatabaseMailProfile',@query ='SELECT Product FROM sb2..SalesHistory GROUP BY Product HAVING COUNT(*) > 3', @attach_query_result_as_file = 1,@query_attachment_filename ='Results.txt'DECLARE @xml NVARCHAR(MAX)DECLARE @body NVARCHAR(MAX)SET @xml =CAST(( SELECT Product AS 'td','',SUM(SalePrice) AS 'td' FROM SalesHistory GROUP BY Product FOR XML PATH('tr'), ELEMENTS ) AS NVARCHAR(MAX))SET @body ='<html><H1>Sales Reports</H1><body bgcolor=yellow><table border = 2><tr><th>Product</th><th>SaleAmount</th></tr>' SET @body = @body + @xml +'</table></body></html>'EXEC msdb.dbo.sp_send_dbmail@recipients =N'chapman.tim@gmail.com',@body = @body,@body_format ='HTML',@subject ='Message Subject',@profile_name ='DatabaseMailProfile'下面是另一網(wǎng)站內(nèi)容

數(shù)據(jù)庫郵件(Database Mail)是SQL Server 2005數(shù)據(jù)庫引擎中新增的一項簡單實用的功能。Database Mail代替了SQL Mail,它使用一個簡單郵件傳輸協(xié)議(SMTP)服務器,而不是SQL Mail所要求的MAPI賬號來發(fā)送電子郵件。

這允許你的組織發(fā)送帶附件和查詢結(jié)果的電子郵件,附加查詢結(jié)果,以及格式化HTML電子郵件。你還可以用它設定許多其它配置,而不需要你擁有一臺Exchange服務器或配置任何類型的MAPI工作區(qū)。

使用Database Mail的好處

除完全以SMTP為基礎外,Database Mail還具有許多其它優(yōu)點:

它在數(shù)據(jù)庫引擎以外運行,因此對數(shù)據(jù)庫引擎的壓力最小。

它支持群集,完全支持群集環(huán)境。

它的用戶資料(Profile)允許使用冗余SMTP服務器。(我將在本文后部分詳細討論這一點。)

它允許你以參數(shù)的形式向存儲過程發(fā)送查詢文本,存儲過程將執(zhí)行查詢并在電子郵件中發(fā)送結(jié)果。

消息通過一個Service Broker隊列異步傳送,因此你在發(fā)送電子郵件時不必等待回應。

它為電子郵件發(fā)送提供多重安全保護,如一個控制附件擴展名的過濾器和一個附件大小管理器。

建立和使用Database Mail

在建立一個Database Mail解決方案前,你需要進行一些規(guī)劃工作。首先,你必須具有一臺有效的SMTP服務器來傳送電子郵件。如果你沒有SMTP服務器,請參閱微軟知識庫文章308161了解建立SMTP服務器的相關信息。如果你無法確定組織是否擁有SMTP服務器,詢問你的網(wǎng)絡管理員獲得機器名稱或服務器的IP地址。你的網(wǎng)絡管理員可能需要對服務器進行配置,以便SQL Server能夠發(fā)送電子郵件。

在Database Mail中,賬戶(Account)保存數(shù)據(jù)庫引擎用來發(fā)送電子郵件消息的信息。一個賬戶只為一臺電子郵件服務器保存信息,如賬戶名、電子郵件地址、回復電子郵件地址、服務器名稱或IP地址,以及一些可選的安全設置。

要發(fā)送一封Database Mail電子郵件,必須使用一個用戶資料(Profile)。用戶資料為一個或幾個賬戶設立。這種用戶資料-賬戶設置非常有用。它允許你將幾個賬戶和一個用戶資料聯(lián)系起來,這意味著你可以將幾臺電子郵件服務器和一個用戶資料聯(lián)系起來。

因此,當你試圖發(fā)送一封電子郵件時,系統(tǒng)會嘗試用戶資料中的每個賬戶,直到消息被成功發(fā)送出去。如果一臺或幾臺SMTP服務器出現(xiàn)故障,這種設置就十分有用。它還允許你開發(fā)發(fā)送電子郵件的應用程序代碼,而不必擔心針對不同的環(huán)境修改Profile名稱。你可以在開發(fā)和生產(chǎn)環(huán)境中使用相同的Profile名稱,唯一的差別在于用戶資料中包含的賬戶有所不同。

該是時候了解如何建立一個Database Mail賬戶了。在我們的例子中,我假設你正坐在一臺你具有系統(tǒng)管理員訪問權(quán)限的開發(fā)機器前。如果你沒有系統(tǒng)管理員權(quán)限,你需要成為msdb數(shù)據(jù)庫DatabaseMailUserRole的一員。

下面的腳本建立一些我在整個實例中都要用到的變量。注意:整個腳本將在msdb數(shù)據(jù)庫中運行,Database Mail對象就保存在其中。

USE msdbGODECLARE @ProfileName VARCHAR(255)DECLARE @AccountName VARCHAR(255)DECLARE @SMTPAddress VARCHAR(255)DECLARE @EmailAddressVARCHAR(128)DECLARE @DisplayUser VARCHAR(128)

這里我建立了ProfileName、AccountName、STMP服務器名稱以及顯示在電子郵件From(郵件來自)框中的地址。

SET @ProfileName = 'DBMailProfile';SET @AccountName = 'DBMailAccount';SET @SMTPAddress = 'mail.yoursmtpserver.com';SET @EmailAddress = 'DBMail@yoursmtpserver.com';SET @DisplayUser = 'The Mail Man';

下面的的腳本完成一些清理工作,以便如果我再次運行腳本,就不必擔心出現(xiàn)錯誤。

IF EXISTS(SELECT * FROM msdb.dbo.sysmail_profileaccount pa JOIN msdb.dbo.sysmail_profile p ON pa.profile_id = p.profile_id JOIN msdb.dbo.sysmail_account a ON pa.account_id = a.account_idWHERE p.name = @ProfileName AND a.name = @AccountName)BEGIN PRINT 'Deleting Profile Account' EXECUTE sysmail_delete_profileaccount_sp @profile_name = @ProfileName, @account_name = @AccountNameENDIF EXISTS(SELECT * FROM msdb.dbo.sysmail_profile p WHERE p.name = @ProfileName)BEGIN PRINT 'Deleting Profile.' EXECUTE sysmail_delete_profile_sp @profile_name = @ProfileNameENDIF EXISTS(SELECT * FROM msdb.dbo.sysmail_account aWHERE a.name = @AccountName)BEGIN PRINT 'Deleting Account.' EXECUTE sysmail_delete_account_sp @account_name = @AccountNameEND

下面的腳本給系統(tǒng)增加賬戶(Account)、用戶資料(Profile)和賬戶-用戶資料(Account-Profile)關系。

EXECUTE msdb.dbo.sysmail_add_account_sp@account_name = @AccountName,@email_address = @EmailAddress,@display_name = @DisplayUser,@mailserver_name = @SMTPAddressEXECUTE msdb.dbo.sysmail_add_profile_sp@profile_name = @ProfileName EXECUTE msdb.dbo.sysmail_add_profileaccount_sp@profile_name = @ProfileName,@account_name = @AccountName,@sequence_number = 1 ;

現(xiàn)在一切都已經(jīng)準備妥當,我將發(fā)送一封測試電子郵件。

EXEC msdb.dbo.sp_send_dbmail@recipients=N'chapman.tim@gmail.com',@body= 'Test Email Body', @subject = 'Test Email Subject',@profile_name = @ProfileName

要檢查消息是否發(fā)送成功,我可以對sysmail_allitems系統(tǒng)視圖執(zhí)行一次查詢。

SELECT * FROM sysmail_allitems

(T004)

日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
午夜国产精品视频| 国产精品xxxav免费视频| 美女在线视频一区| 蜜臀av亚洲一区中文字幕| 日韩午夜电影| 亚洲性色视频| 日韩午夜av| 欧美亚洲人成在线| 捆绑调教美女网站视频一区| 亚洲综合精品| 美女精品在线观看| 亚洲久久视频| 日韩深夜视频| 日本成人在线网站| 麻豆mv在线观看| 免费高清在线一区| 麻豆成人av在线| 偷拍欧美精品| 国产激情一区| 久久高清精品| 久久精品国产久精国产爱| 国产精品亚洲成在人线| 夜夜嗨网站十八久久| 久久99伊人| 日韩中文欧美在线| 亚洲国产综合在线看不卡| 欧美日韩国产在线一区| 99国产精品视频免费观看一公开 | 天堂а√在线最新版中文在线| 电影天堂国产精品| 日本成人一区二区| 成人自拍av| 国内精品福利| 亚洲精华国产欧美| 国产欧美自拍一区| 91精品国产调教在线观看| 亚洲日产av中文字幕| 国产一区二区三区国产精品 | 欧美激情麻豆| 日本美女一区| 日本一区福利在线| 亚洲精品成人图区| 久久字幕精品一区| 乱一区二区av| 毛片不卡一区二区| 国产免费av一区二区三区| 亚洲免费黄色| 不卡一区2区| 蜜臀精品久久久久久蜜臀| 中文字幕在线视频久| 蜜臀精品一区二区三区在线观看| 日韩欧美在线中字| 欧美一区二区三区免费看| 国产精品欧美大片| 久久av在线| 亚洲乱码久久| 免费在线观看成人| 麻豆精品新av中文字幕| 亚洲午夜黄色| 国产精品香蕉| 亚洲黄色在线| 日本午夜精品视频在线观看| 久久久男人天堂| 日韩av有码| 欧美国产美女| 国产一在线精品一区在线观看| 精品国产a一区二区三区v免费| 久久不卡国产精品一区二区| 日韩精品视频网站| 美女久久久久久 | 久久av超碰| 欧美精品中文字幕亚洲专区| 久久精品99国产精品日本| 久久精品日韩欧美| 国产视频一区在线观看一区免费| 日韩高清不卡在线| 日韩av免费大片| 亚洲少妇自拍| 国产日产精品一区二区三区四区的观看方式| 国产精品.xx视频.xxtv| 国产精品白浆| 精品一区三区| 婷婷综合电影| 亚洲高清成人| 国产精品高颜值在线观看| 亚洲成人三区| 国产黄大片在线观看| 国产亚洲电影| 免费人成在线不卡| 激情久久久久久久| 国产精品宾馆| 亚洲我射av| 欧美aa在线观看| 国产精品一卡| 男人的天堂久久精品| 国产成年精品| 免费看日韩精品| 精品国产精品久久一区免费式 | 另类小说一区二区三区| 国产精品1区| 国产精品视区| 五月精品视频| 日韩激情一区| 国产精品久久久久av蜜臀| 久久国产精品久久久久久电车 | 亚洲精品激情| 成人在线超碰| 美女久久久精品| 老鸭窝毛片一区二区三区| 国产精品日韩精品中文字幕| 精品高清久久| av在线最新| 麻豆网站免费在线观看| 日韩中文字幕91| 99精品电影| 黄毛片在线观看| 亚洲人成精品久久久| 婷婷成人基地| 久久精品av| 色婷婷精品视频| 久久国产电影| 极品日韩av| 黄色日韩在线| 国产精品老牛| 蜜臀精品久久久久久蜜臀| 久久国产精品久久久久久电车| 高清日韩欧美| 精品国产亚洲一区二区三区在线| 色综合视频一区二区三区日韩 | 久久久久蜜桃| 午夜av成人| 亚洲女同一区| 亚洲一区导航| 国产精品一区二区中文字幕| 美女免费视频一区| 国产99亚洲| 男女男精品视频网| 欧美精品中文字幕亚洲专区| 国产精品嫩模av在线| 日韩激情一二三区| 日韩欧美三级| 日韩视频中文| 99久久99久久精品国产片果冰| 国产精品麻豆成人av电影艾秋| 久久亚洲在线| 麻豆精品新av中文字幕| 亚洲精品日韩久久| 伊人久久大香线蕉av超碰演员| 免费视频一区二区三区在线观看| av资源中文在线| 日韩免费高清| 久久国产毛片| 久久不射网站| 日韩精品视频在线看| 国产欧美日韩一级| 国产美女高潮在线| 一区久久精品| 奇米777国产一区国产二区| 久久97久久97精品免视看秋霞| 免费福利视频一区二区三区| 欧美日韩在线二区| 亚洲人成网站在线在线观看| 国产精品午夜一区二区三区| 九九久久电影| 国产精品亚洲四区在线观看| 久久中文字幕av| 亚洲啊v在线| 日韩精品导航| 免费看精品久久片| 国产韩日影视精品| 91嫩草亚洲精品| 久久黄色影视| 日韩中文字幕91| 亚洲涩涩av| 日韩av在线免费观看不卡| 国产自产自拍视频在线观看| 国产精品巨作av| 欧美日韩伊人| 国产精品香蕉| 精品久久久中文字幕| 精品视频自拍| 国产精品蜜月aⅴ在线| 亚洲精品黄色| 国产黄大片在线观看| 日韩精品国产欧美| 精品视频免费| 人人精品人人爱| 日韩精品亚洲一区二区三区免费| 国产日韩电影| 国产精品婷婷| 国产精品久久久久久av公交车| 精品视频91| 尤物在线精品| 久久伊人久久| 免费精品视频| 中文字幕高清在线播放| 日韩毛片一区| 激情婷婷综合| 日本不卡视频一二三区| 欧美日韩一二三四|