我有一个带有用户组的Windows帐户并尝试执行sp_send_dbmail但收到错误:配置文件名称无效。但是,当我以管理员身份登录并执行sp_send_dbmail时,它设法发送电子邮件,因此显然服务器上存在配置文件名称。任何人都可以请求帮助吗?
答案 0 :(得分:40)
您需要授予用户或组权限才能使用该配置文件。需要将它们添加到msdb数据库中,然后在维护邮件安全性时,您将在邮件向导中看到它们可用。
在此处阅读安全性:http://msdn.microsoft.com/en-us/library/ms175887.aspx
在此处查看邮件程序列表:http://msdn.microsoft.com/en-us/library/ms177580.aspx
“TestUser”使用名为“General Admin Mail”的配置文件的示例脚本。
USE [msdb]
GO
CREATE USER [TestUser] FOR LOGIN [testuser]
GO
USE [msdb]
GO
EXEC sp_addrolemember N'DatabaseMailUserRole', N'TestUser'
GO
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'General Admin Mail',
@principal_name = 'TestUser',
@is_default = 1 ;
答案 1 :(得分:17)
我也遇到了同样的问题。这就是我的所作所为。
如果您已经完成授予用户/组使用配置文件名称的权限。
1.转到configuration Wizard of Database Mail
2.勾选管理配置文件安全性
3.在公共配置文件选项卡上,检查您的配置文件名称
4.在专用配置文件选项卡上,为用户名选择NT AUTHORITY \ NETWORK SERVICE并检查您的配置文件名称
5.对于NT AUTHORITY \ SYSTEM用户名,这次是#4
6.单击“下一步”直到“完成”。
这就是全部。希望它有所帮助。
答案 2 :(得分:2)
您是否为SQL Server代理启用了配置文件?这是在DatabaseMail中创建电子邮件配置文件时遗漏的常见步骤。
步骤:
答案 3 :(得分:0)
就我而言,我在服务器之间移动SProc,并且TSQL代码中的配置文件名称与新服务器上的配置文件名称不匹配。
更新TSQL配置文件名称==新的服务器配置文件名称为我修复了该错误。
答案 4 :(得分:0)
配置文件名称无效[SQLSTATE 42000](错误14607)
这是在我将作业脚本从旧的SQL Server复制到新的SQL Server之后发生的。在SSMS的“管理”下,新SQL Server中的“数据库邮件”配置文件名称不同。我要做的就是更新作业脚本中的名称。