1

Sprocの結果をメールで送信しようとしています。私はこれをやってみました:

EXEC msdb.dbo.sp_send_dbmail  
    @recipients = 'Testemail@XYZ.com',
    @query = 'EXEC test_email' ,
    @subject = 'Sample Data',
    @attach_query_result_as_file = 1 ;

次のエラーが発生します。

メッセージ15281、レベル16、状態1、プロシージャsp_send_dbmail、行0
SQL Serverは、このサーバーのセキュリティ構成の一部としてこのコンポーネントがオフになっているため、コンポーネント'DatabaseMailXPs'のプロシージャ'dbo.sp_send_dbmail'へのアクセスをブロックしました。システム管理者は、sp_configureを使用して、「データベースメールXP」の使用を有効にできます。「データベースメールXP」を有効にする方法の詳細については、SQL ServerBooksOnlineの「SurfaceAreaConfiguration」を参照してください。

これを行う他の方法はありますか?

4

1 に答える 1

4

恐れてDBMailを使用する他の方法はありません。データベースメールは、次のコマンドで有効にする必要があります。EXEC sp_configure'データベースメールXP'、1ただし、さらに、データベースメールは適切なプロファイルとアカウントで構成する必要があります。

ポリシーがメールを有効にしないサーバーに使用した回避策の1つは、ストアドプロシージャに、クエリを実行して電子メールを送信するSSISパッケージを呼び出させることです。これはデータベースメールを完全にバイパスし、SSISパッケージはSMTPサーバーへの独自の接続を確立します。

私が通常これを設定する方法は、sp_startjobを実行してサーバーエージェントジョブを呼び出し、サーバーエージェントジョブがSSISパッケージを実行することです。

お役に立てれば。

ピート

于 2012-09-24T06:50:28.900 に答える