成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號(hào)

SQL Server的數(shù)據(jù)備份、管理與恢復(fù)(中)
2007-09-30   網(wǎng)絡(luò)

2.正確配置和使用SQL Mail進(jìn)行數(shù)據(jù)庫(kù)管理

雖然數(shù)據(jù)庫(kù)管理員經(jīng)常就在數(shù)據(jù)庫(kù)旁邊,但是卻不能像機(jī)器那樣不問(wèn)斷地工作,如果在管理員下班后突然發(fā)生意外事件,怎樣通知管理員以及時(shí)處理緊急事件?在SQL Server 2000中,一般來(lái)說(shuō),通知方式有三種:電子郵件、呼叫程序和網(wǎng)絡(luò)發(fā)送。由于電子郵件的方便性和易用性,所以它成為大多數(shù)管理員選擇的方法。本文就以實(shí)現(xiàn)電子郵件通知為例,介紹如何設(shè)置和使用SQL中的電子郵件通知。

SQL郵件必須使用郵件配置文件來(lái)運(yùn)行,該配置文件在啟動(dòng)Microsoft SQL Server實(shí)例時(shí)所使用的同一域賬戶中創(chuàng)建。在SQL Server企業(yè)管理器的支持服務(wù)文件夾下,可以看到對(duì) sQL郵件服務(wù)的圖形描述,并可以確定該服務(wù)是否正在運(yùn)行。

(1)配置SMTP及POP3服務(wù)器。

為了使用SQL Mail,首先得在服務(wù)器上有SMTP服務(wù),筆者沒(méi)有使用Windows 2000 Server自帶的SMTP,而是用CMailServer的SMTP,該軟件可以到作者網(wǎng)站http://www.youngzsoft.com去下載。其界面友好,操作簡(jiǎn)單,運(yùn)行也比較穩(wěn)定。將郵件服務(wù)器設(shè)置好,然后登錄到其默認(rèn)郵件Web頁(yè)測(cè)試收發(fā)郵件,確認(rèn)能正常收發(fā)郵件。

(2)設(shè)置郵件配置文件。

1)安裝郵件系統(tǒng)。在Windows 2000 Server中默認(rèn)安裝了郵件系統(tǒng)Outlook Express,如果沒(méi)有則需要安裝一個(gè)郵件系統(tǒng)(筆者安裝了Outlook 2002,發(fā)現(xiàn)在設(shè)置郵件配置文件時(shí),如果不安裝Outlook而是用第三方程序,Windows 2000 Server在控制面板中就找不到“郵件”圖標(biāo))。安裝正確后可以在控制面板中看到“郵件”圖標(biāo)。

2)、添加郵件賬戶。在控制面板上雙擊“郵件”圖標(biāo),在彈出的“郵件設(shè)置”窗口單擊“電子郵件賬戶”按鈕,接著就會(huì)出現(xiàn)“電子郵件賬戶”窗口,在該窗口選擇“添加電子郵件賬戶”,然后單擊“下一步”按鈕,在服務(wù)器類型中選擇“POP3”,然后再在“Internet電子郵件設(shè)置(POP3)”中分別完成用戶信息、服務(wù)器信息和登錄信息設(shè)置,單擊“測(cè)試用戶設(shè)置”按鈕測(cè)試其電子郵件設(shè)置,確認(rèn)其設(shè)置正確。接下來(lái)的操作比較簡(jiǎn)單,按照其默認(rèn)設(shè)置即可。

3)添加用戶配置文件。在控制面板上雙擊“郵件”圖標(biāo),在彈出的“郵件設(shè)置”窗口單擊“顯示用戶配置”按鈕,然后在其中添加用戶配置文件“hongyumail”,設(shè)置完成后,該配置文件用于SQL mail使用。


4)測(cè)試Outlook。啟動(dòng)Outlook,在“工具”菜單選擇“賬號(hào)”命令,添加跟前面的配置文件中相同屬性的電子郵件賬號(hào)。并在其中進(jìn)行相應(yīng)設(shè)置,最后測(cè)試收發(fā)郵件,確認(rèn)Outlook工作正常。

(3)配置SQL Mail。

以管理員身份啟動(dòng)SQL Server,展開(kāi)“SQL Server組”至“支持服務(wù)”,然后右鍵單擊“SQL郵件”,在彈出的菜單中選擇“屬性”命令,在“SQL郵件”配置窗口(如圖4.2-13),單擊配置文件名下拉菜單,選中剛才定義的“hongyumail”配置文件(也可以定義多個(gè)配置文件),選擇這個(gè)配置文件,然后單擊“測(cè)試”按鈕進(jìn)行測(cè)試,SQL將返回成功開(kāi)始和結(jié)束一個(gè)MAPI會(huì)話的信息,如果出現(xiàn)錯(cuò)誤或是沒(méi)有找到郵件配置文件,那一定是啟動(dòng)SQL Server用的賬號(hào)有問(wèn)題。

(4)使用查詢分析器發(fā)送郵件。

設(shè)置好SQL郵件后,就可以在查詢分析器中使用xp_sendmail,xp_deletemail, xp_findnextmsg,xp_readmail,xp_startmail及xp_stopmail等命令來(lái)發(fā)送、刪除、查找信息、閱讀、啟動(dòng)和停止郵件了。

在查詢分析器中可以用“xp_sendmail”擴(kuò)展存儲(chǔ)過(guò)程發(fā)送SQL郵件,其語(yǔ)法如下:

xp_sendmail{[@recipients=]‘recipients[;...n]’}

[,[@message=]‘message’]

[,[@query=[‘query’]

[,[@attachments=]‘a(chǎn)ttachments[;...n]’]

[,[@copy_recipients=]‘copy_recipients[;...n]’

[,[@blind_copy_recipients=]‘blind_copy_recipients[;...n]’

[,[@subject=]‘subject’]

[,[@ttype=]‘type’]

[,[@attach_results=]‘a(chǎn)ttach_value’]

[,[@no_output=]‘output_value’]

[,[@no_header=]‘header_value’]

[,[@width=]width]

[,[@separator=]‘separator’]

[,[@echo_error=]‘echo_value’]

[,[@set_user=]‘user’]

[,[@dbuse=]‘database’]

其中@recipients是必需的,參數(shù)說(shuō)明如下。

[@recipients=]‘Feeipients[;...n]’:是以分號(hào)分隔的郵件收件人列表。n是表示可以指定多個(gè)recipient、copy_recipient或blind_copy_recipient的占位符。

[@message=]‘message’:是要發(fā)送的郵件。message最大可達(dá)8000個(gè)字節(jié)。

[@query=]‘query’:是有效的Microsot SQL Server查詢,其結(jié)果將通過(guò)郵件送出。 xp_sendmail對(duì)query參數(shù)使用綁定連接。SQL郵件建立的query連接不會(huì)被發(fā)出xp_sendmail請(qǐng)求的客戶端所控制的鎖阻塞。這使xp_sendmail更易于在觸發(fā)器中使用。但是,query語(yǔ)句不能引用僅在觸發(fā)器中可用的邏輯inserted表和deleted表。query最大可達(dá)8,000個(gè)字節(jié)。

[@attachments=]‘a(chǎn)ttachments[;...n]’:是以分號(hào)分隔的附加到郵件上的文件列表。

[@copy_recipients=]‘copy_recipients[;...n]’:是以分號(hào)分隔的列表,標(biāo)識(shí)郵件復(fù)本收件人(抄送人)。

[@blind_copy_recipients=]‘blind_copy_recipients[;...n]’:是可選的以分號(hào)分隔的列表,標(biāo)識(shí)郵件密件復(fù)本收件人(密件抄送人)。

[@subject=]‘subject’:是指定郵件主題的可選參數(shù)。如果未指定subject,則默認(rèn)值為“SQL Server消息”。

[@type=]‘type’:是基于以下MAPI郵件定義的輸入郵件類型。

IP[M|C].Vendomame.subclass.如果type為NULL,則以IPM打頭的郵件類型出現(xiàn)在郵件客戶端的收件箱中,并由xp_findnextmsg查找或閱讀。以IPC打頭的郵件類型不出現(xiàn)在郵件客戶程序的收件箱中,并且必須設(shè)置type參數(shù)才能查找或閱讀。默認(rèn)設(shè)置為 NULL。

[@attach_results=]‘a(chǎn)ttach_value’:是可選參數(shù),指定查詢結(jié)果集應(yīng)作為郵件中的附件文件發(fā)送,而不是追加到郵件中發(fā)送。如果attachments不為NULL,并且attach_results為 true,則attachments中的第一個(gè)文件名將作為結(jié)果集的文件名。如果attachments為NULL,則生成帶.txt擴(kuò)展名的文件名。默認(rèn)值為FALSE,這意味著結(jié)果集將追加到郵件中。

[@no_output=]‘output_value’:是可選參數(shù),用來(lái)發(fā)送郵件但不向發(fā)送郵件的客戶端會(huì)話返回任何輸出。默認(rèn)值為FALSE,這意味著SQL Server客戶端會(huì)話將接收輸出。

[@no_header=]‘header_value’:是可選參數(shù),表示通過(guò)郵件發(fā)送查詢結(jié)果,但不隨查詢結(jié)果發(fā)送列標(biāo)題信息。默認(rèn)值為FALSE,即列標(biāo)題信息隨查詢結(jié)果一起發(fā)送。

[@width=]width:是可選參數(shù),設(shè)置查詢的輸出文本行寬。此參數(shù)與isql實(shí)用工具中的/w參數(shù)相同。對(duì)于產(chǎn)生長(zhǎng)輸出行的查詢,應(yīng)結(jié)合使用attach_results與width以發(fā)送行中無(wú)換行符的輸出。默認(rèn)寬度為80個(gè)字符。

[@separator=]‘separator’:是結(jié)果集中每列的列分隔符字符串。默認(rèn)情況,列分隔符為空格。使用列分隔符可以使訪問(wèn)電子表格和其他應(yīng)用程序中的結(jié)果集更容易。例如,結(jié)合使用attach_results與separator以發(fā)送用逗號(hào)分隔值的文件。

[@echo_error=]‘echo_value’:值為true時(shí),SQL郵件將捕獲運(yùn)行查詢時(shí)遇到的任何服務(wù)器消息或DB-Library錯(cuò)誤,并將其追加到郵件中而不是寫入錯(cuò)誤日志。同時(shí)也將返回行/受影響行的計(jì)數(shù)追加到郵件中。

[@set_user=]‘user’:是應(yīng)在其中運(yùn)行查詢的安全上下文。如果沒(méi)有指定user,安全上下文默認(rèn)為執(zhí)行xp_sendmail的用戶的安全上下文。

[@dbuse=]‘database’:是應(yīng)在其中運(yùn)行查詢的數(shù)據(jù)庫(kù)上下文。默認(rèn)值為NULL,這意味著將用戶置于默認(rèn)數(shù)據(jù)庫(kù)中。

(5)幾個(gè)應(yīng)用實(shí)例。

1)使用不帶變量的xp_sendmail。向用戶cxb發(fā)送郵件(電子郵件用戶是cxb),告知該用戶master數(shù)據(jù)庫(kù)已滿。

EXEC xp_sendmail‘cxb’,‘The master database is full.’

2)使用帶變量的xp_sendmail。向用戶Robeg和Laura發(fā)送郵件,并將復(fù)本發(fā)送給Anne和Michael。在該例中還指定了郵件的主題行“Master Database Status”。

EXEC xp_sendmail@recipients=‘robertk;laurac’,

@message=‘The master database is full.’,

@capy_recipieats=‘a(chǎn)nned;michaels’,

@subject=‘Master Database Status’

3)發(fā)送結(jié)果。下例將sp_configure的結(jié)果發(fā)送給cxb。

EXEC xp_sendmail‘cxb’,@query=‘sp_configure’

4)將結(jié)果作為附件文件發(fā)送。下例將查詢SELECT*FROM INFORMATION_SCHEMA. TABLES的結(jié)果作為文本文件附件發(fā)送給Robert King。下例包含郵件的主題行以及將在附件之前出現(xiàn)的郵件正文。@width參數(shù)用于防止在輸出行中換行。

EXEC xp_sendmail@recipients=‘robertk’.

@query=‘SELECT*FROM INFORMATION_SCHEMA.TABLES’,

@subject=‘SQL Server Report’,

@message=‘The contents of INFORMATION_SCHEMA.TABLES:’

@attach_results=‘TRUE’,@width=250

(6)在網(wǎng)站中使用SQL郵件。

如果是在Web應(yīng)用中使用SQL郵件,則需要加入連接數(shù)據(jù)的賬號(hào)和用戶名。也就是在 maser庫(kù)的擴(kuò)展存儲(chǔ)過(guò)程找到XP_sendmail,并在其屬性中增加用戶,并選擇EXEC權(quán)限。設(shè)置完畢,運(yùn)行網(wǎng)站程序,測(cè)試用戶注冊(cè),幾乎沒(méi)有延遲,很快就收到由SQL郵箱發(fā)出的郵件。

熱詞搜索:

上一篇:SQL Server的數(shù)據(jù)備份、管理與恢復(fù)(上)
下一篇:SQL Server的數(shù)據(jù)備份、管理與恢復(fù)(下)

分享到: 收藏
主站蜘蛛池模板: 金太勋| 焕羽电视剧免费播放在线观看| 动漫秀场| 三寸天堂简谱| 我未成年 电影| lanarhoades在线av| 魏凤| 敦君和女朋头| 醉翁亭记理解性默写及答案| 浪漫体质| 一一影视| 比利小子| 谭耀文演的电影| 午夜魅影| 翟佳滨老师今天答案| 太太的情人 电影| 译制片《桥》| 《欲望中的女人》| 银行资信证明| soul电影| 土力学| 冷血惊魂| 破天荒| 电影《大突围》免费观看国语| 生死搏斗| 苏晓电视剧叫什么名字的| 乔治失踪的日子| 不跟陌生人走教案| la ciociara| 一级毛片色一级| 贝加尔湖畔钢琴谱| 吴政世| 婷婷sese| 流行性感冒ppt课件| 成人在线| 毒鲨| 家书1000字| 张猛龙魏碑字帖大全| 十月电影| 褚阳| 颂文|