在SQL Server 2008设置发送邮件步骤详解
一、启用数据库邮件
手动启用数据库邮件功能,需执行以下脚本:
exec sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE ; GO exec sp_configure 'Database Mail XPs', 1; GO RECONFIGURE WITH OVERRIDE ; GO
二、配置数据库邮件
--创建邮件帐户信息 exec msdb.dbo.sysmail_add_account_sp @account_name ='acctinfo', -- 邮件帐户名称 @email_address ='myname@163.com', -- 发件人邮件地址 @display_name ='SQL SERVER xxx', -- 发件人姓名 @MAILSERVER_NAME = 'smtp.163.com', -- 邮箱服务器地址 @PORT =25, -- 邮箱服务器端口 @USERNAME = 'myname@163.com', -- 邮箱用户名 @PASSWORD = '邮箱密码' -- 邮箱密码 GO --数据库配置文件 exec msdb.dbo.sysmail_add_profile_sp @profile_name = 'mailset', -- 配置名称 @description = '数据库邮件配置文件' -- 配置描述 go --用户和邮件配置文件相关联 exec msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 'mailset', -- 配置名称 @account_name = 'acctinfo', -- 邮件帐户名称 @sequence_number = 1 -- account在 profile 中顺序(默认是1) go
三、发送数据邮件示例
EXEC msdb.dbo.sp_send_dbmail @profile_name = 'mail', @recipients = '9294@qq.com;3910@qq.com', ----接收邮件地址列表,可以多个,中间以分号分隔 @subject = '价格数据异常的记录', ----邮件主题 @query='select * from test_sale where sale_price=0 and sale_date=convert(char(10),dateadd(dd,-1,getdate()),121)', @body = '价格数据异常,查询结果如下:'
四、可以根据实际业务需要,制定SQL作业计划,定时监控各数据表,出现异常数据时,及时邮件通知负责人。