在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作业计划,定时监控各数据表,出现异常数据时,及时邮件通知负责人。

原文地址:https://www.cnblogs.com/PeterFu/p/3981461.html