0

ここや他の場所でいくつかの調査を行い、いくつかのトラブルシューティングを試みた後、私はあなたに助けを求めます.

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 を使用しています。

4

1 に答える 1

0

私はバカです。ステップでは、msdb ではなく、select クエリが使用する db を使用するように指示しました。それは今動作します。

于 2015-05-12T17:03:23.500 に答える