SQL Serverでは、sp_send_dbmail
を使用して電子メールを送信できます。 msdbのストアドプロシージャ データベース。
この手順を実行するときに選択できることの1つは、クエリの結果を含めるかどうかです。
もう1つの選択肢は、それらの結果を添付ファイルで送信するかどうかです。
例
クエリの結果をメールで送信するには、@query
を使用します 引数。
これらの結果を添付ファイルとして添付するには、@attach_query_result_as_file
を使用します 口論。これはビットを受け入れます 値。デフォルトは0
です。 (添付ファイルなし)。
結果を添付ファイルで送信するには、1
を指定するだけです。 この議論のために。
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Potential candidates for an Admin job, perhaps?',
@query = 'SELECT TOP(5) * FROM Artists;',
@execute_query_database = 'Music',
@attach_query_result_as_file = 1,
@subject = 'Query results as discussed';
この例では、結果が .txtとして添付されたメールを送信します ファイル。名前はデータベースメールによって自動的に生成されました。
デフォルトでは、添付ファイルの最大ファイルサイズはファイルあたり1 MBですが、これはsysmail_configure_sp
で変更できます。 ストアドプロシージャ。
添付ファイルの名前を入力してください
添付ファイルに独自の名前を指定することもできます。これは、@query_attachment_filename
を使用して行うことができます 口論。
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Potential candidates for an Admin job, perhaps?',
@query = 'SELECT TOP(5) * FROM Artists;',
@execute_query_database = 'Music',
@attach_query_result_as_file = 1,
@query_attachment_filename = 'Artists.csv',
@subject = 'Query results as discussed';
その他のオプション
前の例を拡張した別の例を次に示します。ここでは、クエリ結果を電子メールの添付ファイルとして送信するときに役立つ可能性のあるいくつかのオプションを含めました。
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Potential candidates for an Admin job, perhaps?',
@query = 'SELECT TOP(5) * FROM Artists;',
@execute_query_database = 'Music',
@attach_query_result_as_file = 1,
@query_attachment_filename = 'Artists.csv',
@query_result_header = 1,
@query_result_width = 256,
@query_result_separator = ',',
@exclude_query_output = 1,
@append_query_error = 1,
@query_no_truncate = 0,
@query_result_no_padding = 1,
@subject = 'Query results as discussed';
これらの一部はデフォルト値に設定されており、一部は設定されていません。たとえば、@query_result_no_padding
を変更しました 1
へ 列内からパディングを削除するため。 @query_result_separator
も使用しました 区切り文字をデフォルトのスペースからコンマに変更します。
sp_send_dbmail
プロシージャは、ここにリストしたよりも多くの引数を受け入れます。引数とその説明の完全なリストについては、Microsoftのドキュメントを参照してください。
データベースメールの設定
このページの例は、データベースメールをすでに有効にして構成していることを前提としています。
データベースメールが構成されていない場合は、SQLServerから電子メールを送信する方法を参照してください。この記事では、T-SQLを使用してデータベースメールを有効化および構成するための例を示します。