在这里和其他地方做了一些研究,并尝试了一些故障排除尝试后,我来找你们好帮忙。
在SQL Server 2012中,我有一份工作,目前只有一步。这一步是这样的:
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'
在作业的“常规”选项卡上,我将所有者作为God-Mode sql用户。应该有无限的特权。
在该步骤中,“运行方式”下拉列表为空。我不知道如何改变它。
在上面的步骤代码中,@ profile_name,我尝试了两件事。当我在Management Studio中使用数据库邮件进行“发送测试消息”尝试时,一切正常,并且它使用的用户是,我们会说'USERX'。我设置了数据库邮件向导,我们会说,“USERY”。我尝试将@profile_name更改为USERX和USERY,没有明显的差异。
这是我得到的错误。这令人困惑,因为我没有(明知)要求它使用此用户:作为用户执行:NT AUTHORITY \ SYSTEM。个人资料名称无效
我尝试了一些事情。在“数据库邮件”向导下的“配置文件安全性”中,唯一可见的用户是USERX(测试成功用于发送邮件的用户,如上所述)。 USERY没有显示出来。我尝试了数据库邮件向导,在查看更改等帐户下,在那里修修补补。这里出现的唯一用户是USERY!没有USERX!我很困惑。我尝试将USERY SMTP auth设置为windows,basic和Anonymous无济于事。
我读到您需要在Profile Security中设置各种用户,例如NT AUTHORITY \ SYSTEM,但这些用户也没有显示,NETWORK也没有显示。
欢迎任何建议,并非常感激。
编辑:AHA! USERX是个人资料,USERY是一个帐户......两个都很好。测试电子邮件使用USERY帐户下的USERX配置文件。所以我想我需要将USERX设置为@profile_name,但这不能解决问题。由于某种原因,它仍然使用NT AUTHORITY \ SYSTEM。答案 0 :(得分:0)