ここや他の場所でいくつかの調査を行い、いくつかのトラブルシューティングを試みた後、私はあなたに助けを求めます.
SQL Server 2012 では、(現在) 1 つのステップしかない仕事があります。そのステップは次のようになります。
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'SomeProfile',
@recipients = 'MyEmailAddress@someplace.com',
@subject = 'Some Subject',
@query = N'SELECT somedata FROM sometable WHERE something = true,
@attach_query_result_as_file = 1,
@query_attachment_filename = 'Weekly_Data.txt'
ジョブの「General」タブで、所有者を God-Mode sql ユーザーとして設定しています。無制限の特権を持つ必要があります。
ステップの [Run As] ドロップダウンは空です。これを変更する方法がわかりません。
上記のステップ コード @profile_name では、2 つのことを試しました。Management Studio でデータベース メールを使用して「テスト メッセージの送信」を試みたところ、すべて正常に機能し、使用したユーザーは「USERX」でした。「USERY」と言うデータベース メール ウィザードをセットアップします。@profile_name を USERX と USERY に変更してみましたが、明らかな違いはありません。
これが私が得ているエラーです。私は(故意に)このユーザーを使用するように依頼していないため、混乱しています:ユーザーとして実行:NT AUTHORITY\SYSTEM。プロファイル名が無効です
私はいくつかのことを試しました。データベース メール ウィザードのプロファイル セキュリティでは、表示される唯一のユーザーは USERX (上記で概説したように、メールの送信にテストで正常に使用されたユーザー) です。USERY は表示されません。データベース メール ウィザードの [View Change etc Account] で試してみました。ここに表示されるユーザーは USERY だけです。いいえ、USERX! 私はとても混乱しています。USERY SMTP認証をwindows、basic、およびAnonymousに設定してみましたが、役に立ちませんでした。
Profile Security で NT AUTHORITY\SYSTEM などのさまざまなユーザーを設定する必要があると読みましたが、それも表示されず、NETWORK も表示されません。
どんな提案でも大歓迎です。
編集:ああ!USERX はプロファイル、USERY はアカウントです...どちらも問題ありません。テスト メールは、USERY アカウントの USERX プロファイルを使用していました。したがって、USERX を @profile_name として設定する必要があると思いますが、それでも問題は解決しません。何らかの理由で、まだ NT AUTHORITY\SYSTEM を使用しています。