SQL Server发送邮件需开通用户的权限,否则报错,无法发送邮件。
Msg 229, Level 14, State 5, Procedure sp_send_dbmail, Line 1,EXECUTE permission denied on object 'sp_send_dbmail', database 'msdb', schema 'dbo'.
显示该账号没有sp_send_dbmail的执行权限,需要在系统库msdb中为该账号增加DatabaseMailUserRole角色。
use msdb go create user testuser for login testuser go exec dbo.sp_addrolemember @rolename='DatabaseMailUserRole', @membername='testuser' go
再次发送数据库邮件,有可能还是显示错误。
Msg 14607, Level 16, State 1, Procedure sp_send_dbmail, Line 119 profile name is not valid
显示该账号没有访问数据库邮件profile的权限,需要开通。
use msdb go exec sysmail_add_principalprofile_sp @principal_name='test_user', @profile_name='test_profile', @is_default=1 go
这样该账号就有发送邮件的权限了。