亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >xp_sendmail 創(chuàng)建者:webmaster 更新時(shí)間:2006-02-16 15:51

    向指定的收件人發(fā)送郵件和查詢結(jié)果集附件。


                                                                                             
    語(yǔ)法


    xp_sendmail {[@recipients =] 'recipients [;...n]'}

        
    [,[@message =] 'message']

        [,[@query =] 'query']

        [,[@attachments =] 'attachments [;...n]']

        [,[@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']



    參數(shù)


    [@recipients =] 'recipients [;...n]'



    是以分號(hào)分隔的郵件收件人列表。



    n



    是表示可以指定多個(gè) recipient、copy_recipientblind_copy_recipient 的占位符。



    [@message =] 'message'



    是要發(fā)送的郵件。message 最大可達(dá) 8.000 個(gè)字節(jié)。



    [@query =] 'query'



    是有效的 Microsoft® 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 =] 'attachments [;...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].Vendorname.subclass


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



    有關(guān)使用自定義郵件類型的更多信息,請(qǐng)參見(jiàn)獨(dú)立提供的《Microsoft Windows NT Resource Kit》或《Microsoft Mail Technical Reference》。



    [@attach_results =] 'attach_value'



    是可選參數(shù),指定查詢結(jié)果集應(yīng)作為郵件中的附件文件發(fā)送,而不是追加到郵件中發(fā)送。如果 attachments 不為 NULL,并且 attach_resultstrue,則 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_resultswidth 以發(fā)送行中無(wú)換行符的輸出。默認(rèn)寬度為 80 個(gè)字符。



    [@separator =] 'separator'



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



    [@echo_error =] 'echo_value'



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



    說(shuō)明  echo_errortrue 時(shí),即使出現(xiàn) DB-Library 錯(cuò)誤或消息,或查詢沒(méi)有返回結(jié)果,只要郵件成功發(fā)送,xp_sendmail 就返回狀態(tài) 0(成功)。



    [@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ù)中。



    返回代碼值


    0(成功)或 1(失?。?/P>

    結(jié)果集


    xp_sendmail 返回下列消息:



    Mail sent.


    注釋


    必須在執(zhí)行 xp_sendmail 前啟動(dòng) SQL 郵件會(huì)話。會(huì)話可以自動(dòng)啟動(dòng),也可以使用 xp_startmail 啟動(dòng)。有關(guān)自動(dòng)設(shè)置 SQL 郵件會(huì)話的更多信息,請(qǐng)參見(jiàn)配置郵件配置文件。一個(gè) SQL 郵件會(huì)話支持 SQL Server 上的所有用戶,但每次只有一個(gè)用戶可以發(fā)送郵件。其他發(fā)送郵件的用戶自動(dòng)排隊(duì)等候,直到第一個(gè)用戶的郵件發(fā)送出去。



    如果指定 query,則 xp_sendmail 作為客戶端登錄到 SQL Server,并執(zhí)行指定的查詢。SQL 郵件建立與 SQL Server 之間的單獨(dú)的連接;它不與發(fā)出 xp_sendmail 的原始客戶端連接共享同一連接。



    說(shuō)明  發(fā)出 xp_sendmail 的客戶端連接所控制的鎖會(huì)阻塞 query。例如,如果要在事務(wù)中更新表,并且為更新創(chuàng)建了觸發(fā)器,而該觸發(fā)器試圖選擇的更新行信息與 query 參數(shù)所選擇的相同,則 SQL 郵件連接將被初始客戶端連接所控制的行排它鎖阻塞。



    xp_sendmail 在 SQL Server 的安全上下文(默認(rèn)為本地管理員帳戶)中運(yùn)行。有效 xp_sendmail 用戶可以在管理員安全上下文中訪問(wèn)郵件的附件文件。如果非系統(tǒng)管理員用戶必須訪問(wèn) xp_sendmail,而您希望阻止對(duì)附件文件的不安全訪問(wèn),則系統(tǒng)管理員可以創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,該過(guò)程調(diào)用 xp_sendmail 并提供所需的功能,但不表現(xiàn) attachments 參數(shù)。此存儲(chǔ)過(guò)程必須在 master 數(shù)據(jù)庫(kù)中定義。然后系統(tǒng)管理員可向必要的用戶授予該存儲(chǔ)過(guò)程的執(zhí)行權(quán)限,但不授予基礎(chǔ) xp_sendmail 過(guò)程的權(quán)限。



    xp_sendmail 向指定收件人發(fā)送郵件、查詢結(jié)果集或附件,并對(duì) query 參數(shù)使用綁定連接。SQL 郵件建立的 query 連接不會(huì)被發(fā)出 xp_sendmail 請(qǐng)求的客戶端所控制的鎖阻塞。這使 xp_sendmail 更易于在觸發(fā)器中使用。但是,query 語(yǔ)句不能引用僅在觸發(fā)器中可用的邏輯 inserted deleted 表。



    說(shuō)明  當(dāng)郵局和通訊簿位于 MSSQLServer 服務(wù)因無(wú)足夠權(quán)限而無(wú)法訪問(wèn)的文件共享位置時(shí),試圖執(zhí)行 xp_sendmail 將導(dǎo)致違規(guī)訪問(wèn)。



    有關(guān)使用存儲(chǔ)過(guò)程調(diào)用 xp_sendmail 的更多信息,請(qǐng)參見(jiàn)如何使用 SQL 郵件(Transact-SQL)。



    權(quán)限


    xp_sendmail 的執(zhí)行權(quán)限默認(rèn)授予 master 數(shù)據(jù)庫(kù)中的 db_owner 固定數(shù)據(jù)庫(kù)角色成員以及 sysadmin 固定服務(wù)器角色成員,但可以授予其他用戶。



    示例


    A. 使用不帶變量的 xp_sendmail


    下例向用戶 Robert King(電子郵件地址是 robertk)發(fā)送郵件,告知該用戶 master 數(shù)據(jù)庫(kù)已滿。



    EXEC xp_sendmail 'robertk', 'The master database is full.'


    B. 使用帶變量的 xp_sendmail


    下例向用戶 Robert King 和 Laura Callahan(電子郵件地址是 laurac)發(fā)送郵件,并將復(fù)本發(fā)送給 Anne Dodsworth(電子郵件地址是 anned)和 Michael Suyama(電子郵件地址是 michaels)。下例還指定了郵件的主題行。



    EXEC xp_sendmail @recipients = 'robertk;laurac', 
      @message = 'The master database is full.',
      @copy_recipients = 'anned;michaels',
      @subject = 'Master Database Status'



    C. 發(fā)送結(jié)果


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



    EXEC xp_sendmail 'robertk', @query = 'sp_configure'


    D. 將結(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


    E. 發(fā)送大于 7,990 個(gè)字符的郵件


    下例顯示如何發(fā)送大于 7,990 個(gè)字符的郵件。由于 message varchar 長(zhǎng)度的限制(這樣每行開(kāi)銷較小,像所有存儲(chǔ)過(guò)程參數(shù)一樣),下例將長(zhǎng)消息寫(xiě)入由單個(gè)文本列組成的全局臨時(shí)表中。然后使用 @query 參數(shù)通過(guò)郵件發(fā)送該臨時(shí)表的內(nèi)容。



    CREATE TABLE ##texttab (c1 text)
    INSERT ##texttab values ('Put your long message here.')
    DECLARE @cmd varchar(56)
    SET @cmd = 'SELECT c1 FROM ##texttab'

    EXEC master.dbo.xp_sendmail 'robertk',
      @query = @cmd, @no_header= 'TRUE'

    DROP TABLE ##texttab
    相關(guān)文章
    本頁(yè)查看次數(shù):