【发布时间】:2010-08-16 06:30:28
【问题描述】:
我有一个用户组的 windows 帐户并尝试执行 sp_send_dbmail 但收到错误:
个人资料名称无效。
但是,当我以管理员身份登录并执行 sp_send_dbmail 时,它设法发送了电子邮件,因此很明显配置文件名称确实存在于服务器上。
【问题讨论】:
标签: sql-server sql-server-2008 sp-send-dbmail
我有一个用户组的 windows 帐户并尝试执行 sp_send_dbmail 但收到错误:
个人资料名称无效。
但是,当我以管理员身份登录并执行 sp_send_dbmail 时,它设法发送了电子邮件,因此很明显配置文件名称确实存在于服务器上。
【问题讨论】:
标签: sql-server sql-server-2008 sp-send-dbmail
您需要授予用户或组使用配置文件的权限。需要将它们添加到 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 ;
【讨论】:
我也遇到了同样的问题。这是我所做的:
如果您已授予用户/组使用配置文件名称的权限。
【讨论】:
您是否启用了SQL Server 代理配置文件?这是在 DatabaseMail 中创建电子邮件配置文件时遗漏的常见步骤。
步骤:
【讨论】:
配置文件名称无效 [SQLSTATE 42000](错误 14607)
这发生在我将作业脚本从旧 SQL 服务器复制到新 SQL 服务器后。在 SSMS 中的管理下,新 SQL Server 中的数据库邮件配置文件名称不同。我所要做的就是更新作业脚本中的名称。
【讨论】:
在我的例子中,我在服务器之间移动了一个 SProc,而我的 TSQL 代码中的配置文件名称与新服务器上的配置文件名称不匹配。
更新 TSQL 配置文件名称 == 新的服务器配置文件名称为我修复了错误。
【讨论】: