sp_send_dbmail (Transact-SQL)sp_send_dbmail (Transact-SQL)

適用対象: ○SQL Server ○Azure SQL Database (Managed Instance のみ) XAzure Synapse Analytics (SQL DW) XParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database (Managed Instance only) NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

指定した受信者に電子メール メッセージを送信します。Sends an e-mail message to the specified recipients. このメッセージには、クエリ結果セット、添付ファイル、またはその両方が含まれる場合があります。The message may include a query result set, file attachments, or both. メールがデータベースメールキューに正常に配置されると、 sp_send_dbmailによってメッセージのmailitem_idが返されます。When mail is successfully placed in the Database Mail queue, sp_send_dbmail returns the mailitem_id of the message. このストアドプロシージャはmsdbデータベースにあります。This stored procedure is in the msdb database.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
sp_send_dbmail [ [ @profile_name = ] 'profile_name' ]  
    [ , [ @recipients = ] 'recipients [ ; ...n ]' ]  
    [ , [ @copy_recipients = ] 'copy_recipient [ ; ...n ]' ]  
    [ , [ @blind_copy_recipients = ] 'blind_copy_recipient [ ; ...n ]' ]  
    [ , [ @from_address = ] 'from_address' ]  
    [ , [ @reply_to = ] 'reply_to' ]   
    [ , [ @subject = ] 'subject' ]   
    [ , [ @body = ] 'body' ]   
    [ , [ @body_format = ] 'body_format' ]  
    [ , [ @importance = ] 'importance' ]  
    [ , [ @sensitivity = ] 'sensitivity' ]  
    [ , [ @file_attachments = ] 'attachment [ ; ...n ]' ]  
    [ , [ @query = ] 'query' ]  
    [ , [ @execute_query_database = ] 'execute_query_database' ]  
    [ , [ @attach_query_result_as_file = ] attach_query_result_as_file ]  
    [ , [ @query_attachment_filename = ] query_attachment_filename ]  
    [ , [ @query_result_header = ] query_result_header ]  
    [ , [ @query_result_width = ] query_result_width ]  
    [ , [ @query_result_separator = ] 'query_result_separator' ]  
    [ , [ @exclude_query_output = ] exclude_query_output ]  
    [ , [ @append_query_error = ] append_query_error ]  
    [ , [ @query_no_truncate = ] query_no_truncate ]   
    [ , [ @query_result_no_padding = ] @query_result_no_padding ]   
    [ , [ @mailitem_id = ] mailitem_id ] [ OUTPUT ]  

引数Arguments

[ @profile_name = ] 'profile_name'メッセージを送信するプロファイルの名前を指定します。[ @profile_name = ] 'profile_name' Is the name of the profile to send the message from. Profile_nameの型はsysnameで、既定値は NULL です。The profile_name is of type sysname, with a default of NULL. Profile_nameには、既存のデータベースメールプロファイルの名前を指定する必要があります。The profile_name must be the name of an existing Database Mail profile. Profile_nameが指定されていない場合、 sp_send_dbmailは、現在のユーザーの既定のプライベートプロファイルを使用します。When no profile_name is specified, sp_send_dbmail uses the default private profile for the current user. ユーザーが既定のプライベートプロファイルを持っていない場合、 sp_send_dbmailではmsdbデータベースの既定のパブリックプロファイルが使用されます。If the user does not have a default private profile, sp_send_dbmail uses the default public profile for the msdb database. ユーザーに既定のプライベートプロファイルがなく、データベースの既定のパブリックプロファイルがない場合は、 ** @ profile_name**を指定する必要があります。If the user does not have a default private profile and there is no default public profile for the database, @profile_name must be specified.

[ @recipients = ] 'recipients'メッセージの送信先となる電子メールアドレスのセミコロン区切りのリストを示します。[ @recipients = ] 'recipients' Is a semicolon-delimited list of e-mail addresses to send the message to. 受信者リストの型はvarchar (max) です。The recipients list is of type varchar(max). このパラメーターは省略可能ですが、 ** @ 受信者**、 ** @ copy_recipients**、または** @ blind_copy_recipientsの少なくとも1つを指定する必要があります。指定しないとsp_send_dbmail**エラーが返されます。Although this parameter is optional, at least one of @recipients, @copy_recipients, or @blind_copy_recipients must be specified, or sp_send_dbmail returns an error.

[ @copy_recipients = ] 'copy_recipients'メッセージをカーボンコピーする電子メールアドレスのセミコロン区切りのリストです。[ @copy_recipients = ] 'copy_recipients' Is a semicolon-delimited list of e-mail addresses to carbon copy the message to. コピーの受信者リストの型はvarchar (max) です。The copy recipients list is of type varchar(max). このパラメーターは省略可能ですが、 ** @ 受信者**、 ** @ copy_recipients**、または** @ blind_copy_recipientsの少なくとも1つを指定する必要があります。指定しないとsp_send_dbmail**エラーが返されます。Although this parameter is optional, at least one of @recipients, @copy_recipients, or @blind_copy_recipients must be specified, or sp_send_dbmail returns an error.

[ @blind_copy_recipients = ] 'blind_copy_recipients'メッセージをブラインドカーボンコピーする電子メールアドレスのセミコロン区切りのリストを示します。[ @blind_copy_recipients = ] 'blind_copy_recipients' Is a semicolon-delimited list of e-mail addresses to blind carbon copy the message to. ブラインドコピーの受信者リストの型はvarchar (max) です。The blind copy recipients list is of type varchar(max). このパラメーターは省略可能ですが、 ** @ 受信者**、 ** @ copy_recipients**、または** @ blind_copy_recipientsの少なくとも1つを指定する必要があります。指定しないとsp_send_dbmail**エラーが返されます。Although this parameter is optional, at least one of @recipients, @copy_recipients, or @blind_copy_recipients must be specified, or sp_send_dbmail returns an error.

[ @from_address = ] 'from_address'電子メールメッセージの差出人アドレスの値を指定します。[ @from_address = ] 'from_address' Is the value of the 'from address' of the email message. これは、メールプロファイルの設定を上書きするために使用される省略可能なパラメーターです。This is an optional parameter used to override the settings in the mail profile. このパラメーターの型はvarchar (MAX) です。This parameter is of type varchar(MAX). オーバーライドが許可されるかどうかは、SMTP のセキュリティ設定によって決まります。SMTP security settings determine if these overrides are accepted. パラメーターを指定しない場合、既定値は NULL になります。If no parameter is specified, the default is NULL.

[ @reply_to = ] 'reply_to'電子メールメッセージの返信先アドレスの値を指定します。[ @reply_to = ] 'reply_to' Is the value of the 'reply to address' of the email message. 有効な値として1つの電子メールアドレスのみを受け入れます。It accepts only one email address as a valid value. これは、メールプロファイルの設定を上書きするために使用される省略可能なパラメーターです。This is an optional parameter used to override the settings in the mail profile. このパラメーターの型はvarchar (MAX) です。This parameter is of type varchar(MAX). オーバーライドが許可されるかどうかは、SMTP のセキュリティ設定によって決まります。SMTP security settings determine if these overrides are accepted. パラメーターを指定しない場合、既定値は NULL になります。If no parameter is specified, the default is NULL.

[ @subject = ] 'subject'電子メールメッセージの件名を示します。[ @subject = ] 'subject' Is the subject of the e-mail message. サブジェクトの型はnvarchar (255) です。The subject is of type nvarchar(255). 件名が指定されていない場合、既定値は ' SQL Server Message ' です。If no subject is specified, the default is 'SQL Server Message'.

[ @body = ] 'body'電子メールメッセージの本文を示します。[ @body = ] 'body' Is the body of the e-mail message. メッセージの本文の型はnvarchar (max) で、既定値は NULL です。The message body is of type nvarchar(max), with a default of NULL.

[ @body_format = ] 'body_format'メッセージ本文の形式を指定します。[ @body_format = ] 'body_format' Is the format of the message body. パラメーターの型はvarchar (20),、既定値は NULL です。The parameter is of type varchar(20), with a default of NULL. 指定した場合、送信メッセージのヘッダーには、メッセージの本文が指定の形式であることを示す文字列が設定されます。When specified, the headers of the outgoing message are set to indicate that the message body has the specified format. パラメーターには、次のいずれかの値を含めることができます。The parameter may contain one of the following values:

  • TEXTTEXT

  • HTMLHTML

既定値は TEXT です。Defaults to TEXT.

[ @importance = ] 'importance'メッセージの重要度です。[ @importance = ] 'importance' Is the importance of the message. パラメーターの型はvarchar (6) です。The parameter is of type varchar(6). パラメーターには、次のいずれかの値を含めることができます。The parameter may contain one of the following values:

  • Low

  • NormalNormal

  • High

既定値は Normal です。Defaults to Normal.

[ @sensitivity = ] 'sensitivity'メッセージの秘密度を示します。[ @sensitivity = ] 'sensitivity' Is the sensitivity of the message. パラメーターの型はvarchar (12) です。The parameter is of type varchar(12). パラメーターには、次のいずれかの値を含めることができます。The parameter may contain one of the following values:

  • NormalNormal

  • 個人用Personal

  • PrivatePrivate

  • 機密Confidential

既定値は Normal です。Defaults to Normal.

[ @file_attachments = ] 'file_attachments'電子メールメッセージに添付するファイル名のセミコロン区切りの一覧です。[ @file_attachments = ] 'file_attachments' Is a semicolon-delimited list of file names to attach to the e-mail message. リスト内のファイルは絶対パスとして指定する必要があります。Files in the list must be specified as absolute paths. 添付ファイルの一覧は、 nvarchar (max) 型です。The attachments list is of type nvarchar(max). 既定では、データベース メールの添付ファイルは 1 ファイルにつき 1 MB に制限されます。By default, Database Mail limits file attachments to 1 MB per file.

重要

このパラメーターは、ローカルファイルシステムにアクセスできないため、Azure SQL Managed Instance では使用できません。This parameter is not available in Azure SQL Managed Instance because it cannot access local file system.

[ @query = ] 'query'実行するクエリを示します。[ @query = ] 'query' Is a query to execute. クエリの結果は、ファイルとして添付するか、電子メールメッセージの本文に含めることができます。The results of the query can be attached as a file, or included in the body of the e-mail message. クエリの型はnvarchar (max) で、任意の有効なステートメントを含めることができ Transact-SQLTransact-SQL ます。The query is of type nvarchar(max), and can contain any valid Transact-SQLTransact-SQL statements. クエリは別のセッションで実行されるため、 sp_send_dbmailを呼び出すスクリプトのローカル変数はクエリで使用できません。Note that the query is executed in a separate session, so local variables in the script calling sp_send_dbmail are not available to the query.

[ @execute_query_database = ] 'execute_query_database'ストアドプロシージャでクエリを実行するデータベースコンテキストを指定します。[ @execute_query_database = ] 'execute_query_database' Is the database context within which the stored procedure runs the query. パラメーターのデータ型はsysnameで、既定値は現在のデータベースです。The parameter is of type sysname, with a default of the current database. このパラメーターは、 ** @ query**が指定されている場合にのみ適用されます。This parameter is only applicable if @query is specified.

[ @attach_query_result_as_file = ] attach_query_result_as_fileクエリの結果セットが添付ファイルとして返されるかどうかを指定します。[ @attach_query_result_as_file = ] attach_query_result_as_file Specifies whether the result set of the query is returned as an attached file. attach_query_result_as_fileの型はbitで、既定値は0です。attach_query_result_as_file is of type bit, with a default of 0.

値が0の場合、クエリの結果は、 ** @ 本文**パラメーターの内容の後に電子メールメッセージの本文に含まれます。When the value is 0, the query results are included in the body of the e-mail message, after the contents of the @body parameter. 値が1の場合、結果は添付ファイルとして返されます。When the value is 1, the results are returned as an attachment. このパラメーターは、 ** @ query**が指定されている場合にのみ適用されます。This parameter is only applicable if @query is specified.

[ @query_attachment_filename = ] query_attachment_filenameクエリの添付ファイルの結果セットに使用するファイル名を指定します。[ @query_attachment_filename = ] query_attachment_filename Specifies the file name to use for the result set of the query attachment. query_attachment_filenameの型はnvarchar (255),、既定値は NULL です。query_attachment_filename is of type nvarchar(255), with a default of NULL. Attach_query_resultが0の場合、このパラメーターは無視されます。This parameter is ignored when attach_query_result is 0. Attach_query_resultが1で、このパラメーターが NULL の場合、データベースメールによって任意のファイル名が作成されます。When attach_query_result is 1 and this parameter is NULL, Database Mail creates an arbitrary filename.

[ @query_result_header = ] query_result_headerクエリの結果に列ヘッダーを含めるかどうかを指定します。[ @query_result_header = ] query_result_header Specifies whether the query results include column headers. Query_result_header 値の型はbitです。The query_result_header value is of type bit. 値が1の場合、クエリ結果には列ヘッダーが含まれます。When the value is 1, query results contain column headers. 値が 0 の場合、クエリの結果には列のヘッダーは含まれません。When the value is 0, query results do not include column headers. このパラメーターの既定値は1です。This parameter defaults to 1. このパラメーターは、 ** @ query**が指定されている場合にのみ適用されます。This parameter is only applicable if @query is specified.

注意

@Query_result_header を0に設定し、query_no_truncate を1に設定すると、次のエラーが発生する可能性があり @ ます。The following error may occur when setting @query_result_header to 0 and setting @query_no_truncate to 1:
メッセージ22050、レベル16、状態1、行 12: エラー番号-2147024809 を使用して sqlcmd ライブラリを初期化できませんでした。Msg 22050, Level 16, State 1, Line 12: Failed to initialize sqlcmd library with error number -2147024809.

[ @query_result_width = ] query_result_widthクエリの結果の書式設定に使用する行の幅を文字数で指定します。[ @query_result_width = ] query_result_width Is the line width, in characters, to use for formatting the results of the query. Query_result_widthの型はintで、既定値は256です。The query_result_width is of type int, with a default of 256. 指定する値は10から32767の間である必要があります。The value provided must be between 10 and 32767. このパラメーターは、 ** @ query**が指定されている場合にのみ適用されます。This parameter is only applicable if @query is specified.

[ @query_result_separator = ] 'query_result_separator'クエリ出力で列を区切るために使用される文字です。[ @query_result_separator = ] 'query_result_separator' Is the character used to separate columns in the query output. 区切り記号の型はchar (1) です。The separator is of type char(1). 既定値は ' ' (スペース) です。Defaults to ' ' (space).

[ @exclude_query_output = ] exclude_query_output電子メールメッセージでクエリ実行の出力を返すかどうかを指定します。[ @exclude_query_output = ] exclude_query_output Specifies whether to return the output of the query execution in the e-mail message. exclude_query_outputはビット,、既定値は0です。exclude_query_output is bit, with a default of 0. このパラメーターが0の場合、 sp_send_dbmailストアドプロシージャを実行すると、クエリの実行結果として返されたメッセージがコンソールに出力されます。When this parameter is 0, the execution of the sp_send_dbmail stored procedure prints the message returned as the result of the query execution on the console. このパラメーターが1の場合、 sp_send_dbmailストアドプロシージャを実行しても、クエリ実行メッセージはコンソールに出力されません。When this parameter is 1, the execution of the sp_send_dbmail stored procedure does not print any of the query execution messages on the console.

[ @append_query_error = ] append_query_error** @ クエリ**引数で指定されたクエリからエラーが返されたときに電子メールを送信するかどうかを指定します。[ @append_query_error = ] append_query_error Specifies whether to send the e-mail when an error returns from the query specified in the @query argument. append_query_errorビット,、既定値は0です。append_query_error is bit, with a default of 0. このパラメーターが1の場合、データベースメールは電子メールメッセージを送信し、電子メールメッセージの本文にクエリエラーメッセージを含めます。When this parameter is 1, Database Mail sends the e-mail message and includes the query error message in the body of the e-mail message. このパラメーターが0の場合、データベースメールは電子メールメッセージを送信せず、 sp_send_dbmailは失敗を示すリターンコード1で終了します。When this parameter is 0, Database Mail does not send the e-mail message, and sp_send_dbmail ends with return code 1, indicating failure.

[ @query_no_truncate = ] query_no_truncate大きな可変長データ型 (varchar (max)nvarchar (max)varbinary (max)xmltextntextimage、およびユーザー定義データ型) の切り捨てを回避するオプションを使用してクエリを実行するかどうかを指定します。[ @query_no_truncate = ] query_no_truncate Specifies whether to execute the query with the option that avoids truncation of large variable length data types (varchar(max), nvarchar(max), varbinary(max), xml, text, ntext, image, and user-defined data types). 設定すると、クエリ結果に列ヘッダーは含まれません。When set, query results do not include column headers. Query_no_truncate値の型はbitです。The query_no_truncate value is of type bit. 値が 0 の場合や指定されていない場合、クエリ内の列は 256 文字に切り捨てられます。When the value is 0 or not specified, columns in the query truncate to 256 characters. 値が1の場合、クエリ内の列は切り捨てられません。When the value is 1, columns in the query are not truncated. このパラメーターの既定値は0です。This parameter defaults to 0.

注意

大量のデータを使用する場合、 @ query_no_truncateオプションは追加のリソースを消費するため、サーバーのパフォーマンスが低下する可能性があります。When used with large amounts of data, the @query_no_truncate option consumes additional resources and can slow server performance.

[ @query_result_no_padding ] @query_result_no_padding型は bit です。[ @query_result_no_padding ] @query_result_no_padding The type is bit. 既定値は 0 です。The default is 0. を1に設定すると、クエリ結果は埋め込まれず、ファイルサイズが小さくなる可能性があります。@Query_result_no_padding を1に設定し、query_result_width パラメーターを設定した場合 @ 、 @ query_result_no_padding パラメーターは @ query_result_width パラメーターを上書きします。When you set to 1, the query results are not padded, possibly reducing the file size.If you set @query_result_no_padding to 1 and you set the @query_result_width parameter, the @query_result_no_padding parameter overwrites the @query_result_width parameter.

この場合、エラーは発生しません。In this case no error occurs.

注意

@Query_result_no_padding を1に設定し、query_no_truncate のパラメーターを指定すると、次のエラーが発生する可能性があり @ ます。The following error may occur when setting @query_result_no_padding to 1 and providing a parameter for @query_no_truncate:
メッセージ22050、レベル16、状態1、行 0: クエリを実行できませんでした @ @ 。 query_result_no_append オプションと query_no_truncate オプションが同時に指定されていません。Msg 22050, Level 16, State 1, Line 0: Failed to execute the query because the @query_result_no_append and @query_no_truncate options are mutually exclusive.

Query_result_no_padding を1に設定し、query_no_truncate パラメーターを設定した場合は @ @ 、エラーが発生します。If you set the @query_result_no_padding to 1 and you set the @query_no_truncate parameter, an error is raised.

[ @mailitem_id = ] mailitem_id [ OUTPUT ]省略可能な出力パラメーターは、メッセージのmailitem_idを返します。[ @mailitem_id = ] mailitem_id [ OUTPUT ] Optional output parameter returns the mailitem_id of the message. Mailitem_idの型はintです。The mailitem_id is of type int.

リターン コードの値Return Code Values

リターン コードが 0 の場合は成功を示します。A return code of 0 means success. それ以外の値は失敗を意味します。Any other value means failure. 失敗したステートメントのエラーコードは、エラー変数に格納され @ @ ます。The error code for the statement that failed is stored in the @@ERROR variable.

結果セットResult Sets

成功すると、"メールがキューに登録されました。" というメッセージが返されます。On success, returns the message "Mail queued."

RemarksRemarks

使用する前に、データベースメール構成ウィザードまたはsp_configureを使用してデータベースメールを有効にする必要があります。Before use, Database Mail must be enabled using the Database Mail Configuration Wizard, or sp_configure.

sysmail_stop_spは、外部プログラムが使用する Service Broker オブジェクトを停止することによってデータベースメールを停止します。sysmail_stop_sp stops Database Mail by stopping the Service Broker objects that the external program uses. sysmail_stop_spを使用してデータベースメールを停止しても、 sp_send_dbmailは引き続きメールを受け取ります。sp_send_dbmail still accepts mail when Database Mail is stopped using sysmail_stop_sp. データベースメールを開始するには、 sysmail_start_spを使用します。To start Database Mail, use sysmail_start_sp.

** @ プロファイル**が指定されていない場合、 sp_send_dbmailは既定のプロファイルを使用します。When @profile is not specified, sp_send_dbmail uses a default profile. 電子メール メッセージを送信するユーザーに既定のプライベート プロファイルがある場合、データベース メールではそのプロファイルが使用されます。If the user sending the e-mail message has a default private profile, Database Mail uses that profile. ユーザーに既定のプライベートプロファイルがない場合、 sp_send_dbmailは既定のパブリックプロファイルを使用します。If the user has no default private profile, sp_send_dbmail uses the default public profile. ユーザーの既定のプライベートプロファイルがなく、既定のパブリックプロファイルもない場合、 sp_send_dbmailはエラーを返します。If there is no default private profile for the user and no default public profile, sp_send_dbmail returns an error.

sp_send_dbmailでは、コンテンツのない電子メールメッセージはサポートされません。sp_send_dbmail does not support e-mail messages with no content. 電子メールメッセージを送信するには、少なくとも1つの** @ 本文**、 ** @ クエリ**、 ** @ file_attachments**、または** @ 件名**を指定する必要があります。To send an e-mail message, you must specify at least one of @body, @query, @file_attachments, or @subject. それ以外の場合、 sp_send_dbmailはエラーを返します。Otherwise, sp_send_dbmail returns an error.

データベース メールでは、ファイルへのアクセス制御に現在のユーザーの MicrosoftMicrosoft Windows セキュリティ コンテキストが使用されます。Database Mail uses the MicrosoftMicrosoft Windows security context of the current user to control access to files. そのため、認証を使用して認証されたユーザー SQL ServerSQL Server は、 ** @ file_attachments**を使用してファイルを添付することはできません。Therefore, users who are authenticated with SQL ServerSQL Server Authentication cannot attach files using @file_attachments. Windows では、SQL ServerSQL Server を使用してリモート コンピューター間で資格情報を交換することは許可されません。Windows does not allow SQL ServerSQL Server to provide credentials from a remote computer to another remote computer. このため、で実行されているコンピューター以外のコンピューターからコマンドを実行した場合、データベースメールはネットワーク共有からファイルを添付できない可能性があり SQL ServerSQL Server ます。Therefore, Database Mail may not be able to attach files from a network share in cases where the command is run from a computer other than the computer that SQL ServerSQL Server runs on.

** @ クエリ @ file_attachments**の両方が指定されていて、ファイルが見つからない場合でも、クエリは実行されますが、電子メールは送信されません。If both @query and @file_attachments are specified and the file cannot be found, the query is still executed but the e-mail is not sent.

クエリを指定すると、結果セットはインラインテキストとして書式設定されます。When a query is specified, the result set is formatted as inline text. 結果セットにあるバイナリ データは 16 進数形式で送信されます。Binary data in the result is sent in hexadecimal format.

** @ 受信者**、 ** @ copy_recipients**、および** @ blind_copy_recipients**のパラメーターは、セミコロンで区切られた電子メールアドレスのリストです。The parameters @recipients, @copy_recipients, and @blind_copy_recipients are semicolon-delimited lists of e-mail addresses. これらのパラメーターのうち、少なくとも1つを指定する必要があります。指定しないとsp_send_dbmailがエラーを返します。At least one of these parameters must be provided, or sp_send_dbmail returns an error.

トランザクションコンテキストを使用せずにsp_send_dbmailを実行すると、データベースメールが開始され、暗黙のトランザクションがコミットされます。When executing sp_send_dbmail without a transaction context, Database Mail starts and commits an implicit transaction. 既存のトランザクション内からsp_send_dbmailを実行する場合、データベースメールは、変更をコミットまたはロールバックするためにユーザーに依存します。When executing sp_send_dbmail from within an existing transaction, Database Mail relies on the user to either commit or roll back any changes. 内部トランザクションは開始されません。It does not start an inner transaction.

アクセス許可Permissions

既定sp_send_dbmailの実行権限は、 Msdbデータベースのdatabasemailuserデータベースロールのすべてのメンバに与えます。Execute permissions for sp_send_dbmail default to all members of the DatabaseMailUser database role in the msdb database. ただし、メッセージを送信するユーザーに要求のプロファイルを使用するアクセス許可がない場合、 sp_send_dbmailはエラーを返し、メッセージを送信しません。However, when the user sending the message does not have permission to use the profile for the request, sp_send_dbmail returns an error and does not send the message.

Examples

A.A. 電子メールメッセージの送信Sending an e-mail message

この例では、電子メールアドレスを使用して、友人に電子メールメッセージを送信 myfriend@Adventure-Works.com します。This example sends an e-mail message to your friend using the e-mail address myfriend@Adventure-Works.com. メッセージの件名は Automated Success Message です。The message has the subject Automated Success Message. メッセージの本文に文が含まれてい 'The stored procedure finished successfully' ます。The body of the message contains the sentence 'The stored procedure finished successfully'.

EXEC msdb.dbo.sp_send_dbmail  
    @profile_name = 'Adventure Works Administrator',  
    @recipients = 'yourfriend@Adventure-Works.com',  
    @body = 'The stored procedure finished successfully.',  
    @subject = 'Automated Success Message' ;  

B.B. 電子メール メッセージをクエリの結果と共に送信するSending an e-mail message with the results of a query

この例では、電子メールアドレスを使用して、友人に電子メールメッセージを送信 yourfriend@Adventure-Works.com します。This example sends an e-mail message to your friend using the e-mail address yourfriend@Adventure-Works.com. メッセージの件名は Work Order Count で、このメッセージでは DueDate が 2004 年 4 月 30 日から 2 日以内となっている作業指示の番号を表示するクエリが実行されます。The message has the subject Work Order Count, and executes a query that shows the number of work orders with a DueDate less than two days after April 30, 2004. データベースメール結果をテキストファイルとして添付します。Database Mail attaches the result as a text file.

EXEC msdb.dbo.sp_send_dbmail  
    @profile_name = 'Adventure Works Administrator',  
    @recipients = 'yourfriend@Adventure-Works.com',  
    @query = 'SELECT COUNT(*) FROM AdventureWorks2012.Production.WorkOrder  
                  WHERE DueDate > ''2004-04-30''  
                  AND  DATEDIFF(dd, ''2004-04-30'', DueDate) < 2' ,  
    @subject = 'Work Order Count',  
    @attach_query_result_as_file = 1 ;  

C.C. HTML 電子メールメッセージの送信Sending an HTML e-mail message

この例では、電子メールアドレスを使用して、友人に電子メールメッセージを送信 yourfriend@Adventure-Works.com します。This example sends an e-mail message to your friend using the e-mail address yourfriend@Adventure-Works.com. メッセージの件名は Work Order List で、 DueDate 2004 年4月30日から2日以内の作業指示を示す HTML ドキュメントが含まれています。The message has the subject Work Order List, and contains an HTML document that shows the work orders with a DueDate less than two days after April 30, 2004. データベース メールでは、このメッセージが HTML 形式で送信されます。Database Mail sends the message in HTML format.

DECLARE @tableHTML  NVARCHAR(MAX) ;  
  
SET @tableHTML =  
    N'<H1>Work Order Report</H1>' +  
    N'<table border="1">' +  
    N'<tr><th>Work Order ID</th><th>Product ID</th>' +  
    N'<th>Name</th><th>Order Qty</th><th>Due Date</th>' +  
    N'<th>Expected Revenue</th></tr>' +  
    CAST ( ( SELECT td = wo.WorkOrderID,       '',  
                    td = p.ProductID, '',  
                    td = p.Name, '',  
                    td = wo.OrderQty, '',  
                    td = wo.DueDate, '',  
                    td = (p.ListPrice - p.StandardCost) * wo.OrderQty  
              FROM AdventureWorks.Production.WorkOrder as wo  
              JOIN AdventureWorks.Production.Product AS p  
              ON wo.ProductID = p.ProductID  
              WHERE DueDate > '2004-04-30'  
                AND DATEDIFF(dd, '2004-04-30', DueDate) < 2   
              ORDER BY DueDate ASC,  
                       (p.ListPrice - p.StandardCost) * wo.OrderQty DESC  
              FOR XML PATH('tr'), TYPE   
    ) AS NVARCHAR(MAX) ) +  
    N'</table>' ;  
  
EXEC msdb.dbo.sp_send_dbmail @recipients='yourfriend@Adventure-Works.com',  
    @subject = 'Work Order List',  
    @body = @tableHTML,  
    @body_format = 'HTML' ;  

参照See Also

データベース メール Database Mail
データベースメール構成オブジェクト Database Mail Configuration Objects
Transact-sql)(のストアドプロシージャのデータベースメール Database Mail Stored Procedures (Transact-SQL)
sp_addrolemember (Transact-SQL)sp_addrolemember (Transact-SQL)