一、启用数据库邮件
手动启用数据库邮件功能,需执行以下脚本:
exec sp_configure 'show advanced options',1
RECONFIGURE
exec sp_configure 'Database Mail XPs',1
RECONFIGURE With Override
二、配置数据库邮件
1、启用配置向导
如果事先没有手动启用数据库邮件功能,则会提示:
2、新建数据库邮件帐户
3、完成配置
三、发送邮件
1、发送测试邮件
2、收到的邮件
3、使用T-SQL发送邮件
详细语法见sp_send_dbmail (Transact-SQL),例如:
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Adventure Works Administrator',
@recipients = 'danw@Adventure-Works.com',
@query = 'SELECT COUNT(*) FROM AdventureWorks2012.Production.WorkOrder
WHERE DueDate > ''2004-04-30''
AND DATEDIFF(dd, ''2004-04-30'', DueDate) < 2' ,
@subject = 'Work Order Count',
@attach_query_result_as_file = 1 ;
四、说明
1、数据库邮件用于从一个SQL Server实例发送邮件信息。
2、为了自动发送邮件信息,必须启用SQL Agent并处于运行状态。
3、一个邮件配置文件可以包含一个或多个邮件帐户。
五、配置文件
配置文件可以为公共配置文件或专用配置文件。
公共配置文件允许所有用户或角色访问邮件主机数据库 (msdb),以使用该配置文件发送电子邮件。
只有特定用户或角色才能访问专用配置文件。
配置文件可以是默认的配置文件。在这种情况下,用户或角色可以使用该配置文件发送电子邮件,而无需显式指定配置文件。如果发送电子邮件的用户或角色具有默认的专用配置文件,则数据库邮件将使用该配置文件。
如果用户或角色没有默认的专用配置文件,则 sp_send_dbmail 将使用 msdb 数据库的默认公共配置文件。如果用户或角色没有默认的专用配置文件,且该数据库也没有默认的公共配置文件,则 sp_send_dbmail 将返回错误。
六、注意事项
1. 帐户权限
若要发送数据库邮件,则还必须使用 Management Studio 或 sp_addrolemember 将“SQL Server 代理”服务的启动帐户添加到 msdb 数据库中的 DatabaseMailUsersRole 角色。
2. 查看日志