dbo.sp_send_dbmail
を使用して添付ファイルを送信しようとしています。これを行うことができません。エラー添付ファイル\ VMName\ListTEAM\LCPP_CP.pdfが無効です。
私がチェックしたいくつかの簡単なこと。さまざまな命名規則を試しました。添付ファイルがあるフォルダを共有しました。サービスでログオンMMC on VM on the SQL database is on。ログオンSQLサーバーおよびSQLサーバーエージェントは[email protected]です。このユーザー[email protected]に、添付ファイルとして送信するファイルがあるディレクトリへのアクセスを許可しました。ロケーションの正確性をトリプルチェックしました。ユーザー[email protected]に、関連するVMのC $に対する読み取りと実行の権限が付与されました。
LCPP_CP.pdfファイルは72 KBです。
ファイルLCPP_CP.pdfは読み取り専用ではありませんプロファイルは公開されています
添付ファイルなしでメールを送信できます。 dbo.sysmail_mailitemsのsend_requestユーザーはdomain\SQLReportingAgentです
私の質問は
私のコードは下にありますが、それは実際には単なるボイラープレートです。コメント付きの行は、私が試したさまざまな順列です。
EXEC msdb.dbo.sp_send_dbmail
@recipients=N'[email protected]',
@body= 'Test Email Body',
@subject = 'Test Email 18:01',
@profile_name = 'Team Meeting Profile'
--@file_attachments ='\\VMName\c$\TEAMLists\TEAM\LCPP_CP.pdf'
--@file_attachments =N'\\VMName\c$\TEAMLists\TEAM\LCPP_CP.pdf'
--@file_attachments ='\\C:\TEAMLists\TEAM\LCPP_CP.pdf'
--@file_attachments =N'\\C:\TEAMLists\TEAM\LCPP_CP.pdf'
--@file_attachments ='C:\TEAMLists\TEAM\LCPP_CP.pdf'
--@file_attachments =N'C:\TEAMLists\TEAM\LCPP_CP.pdf'
--@file_attachments ='\\VMName\TEAMLists\TEAM\LCPP_CP.pdf'
--@file_attachments ='\\VMName\ListTEAM\LCPP_CP.pdf'
データベースメールログを確認するには、[管理]-> [データベースメールを右クリック]-> [データベースメールログの表示]を選択します。エラーはここにあるはずです。例:
メッセージメールサーバーの障害のため、メールを受信者に送信できませんでした。 (アカウント1を使用したメールの送信(2014-05-16T02:21:47)例外メッセージ:メールサーバーにメールを送信できません。(受信者を指定する必要があります。)
また、SQL Serverプロファイラを起動して、sp_send_dbmailのユーザーを確認することもできます。現在のユーザーアカウントを使用してメールを送信していると思いますので、Windowsアカウントにファイルへのアクセス許可があることも確認します。
あなたはすでにそれを述べました:
「msdb.dbo.sp_send_dbmailがSQL SERVERアカウントで実行されていない可能性はありますか?」
SQL2005または2008以降、これは機能しません。
http://msdn.Microsoft.com/en-us/en-en/library/ms190307.aspx -> "そのため、SQL Server認証で認証されたユーザーは@file_attachmentsを使用してファイルを添付できません」
私はまだ解決策を探していて、そのスレッドを見つけました。だからそれがうまくいかない理由があります:)