SQL Server 2008 R2数据统计定时发送邮件

1、创建作业具体过程参考网上,据说sql server 2008 R2需要windows身份认证登录,这个我没验证过;

2、创建作业需要填发送者邮箱地址、密码认证和smtp服务器,起初是用qq邮箱作为发送者,qq邮箱开启smtp服务

器需要开启smtp服务,开启smtp服务需要“密码保护”,果断换163的smtp服务。

3、作业实例代码如下:

DECLARE @l_preday VARCHAR(10) ,
    @l_day VARCHAR(10) ,
    @l_new INT ,
    @l_huoyue INT ,
    @l_chongzhi INT;


SET @l_preday = CONVERT(VARCHAR(10), GETDATE() - 1, 121);
SET @l_day = CONVERT(VARCHAR(10), GETDATE(), 121);


SELECT  @l_new = COUNT(userid)
FROM    database.dbo.tablename
WHERE   date >= @l_preday
        AND date < @l_day;

SELECT  @l_huoyue = COUNT(userid)
FROM    dbname.dbo.tablename
WHERE   logondate >= @l_preday
        AND logondate < @l_day;

SELECT  @l_chongzhi = COUNT(order_id)
FROM    dbname.dbo.tablename
WHERE   date >= @l_preday
        AND date < @l_day;

DECLARE @v_content NVARCHAR(MAX) ,
    @v_body NVARCHAR(MAX); 
SET @v_content = '';
  
SET @v_content = @v_content + '<tr><td>' + @l_preday + '</td><td>'
    + LTRIM(RTRIM(STR(@l_new, 12))) + '</td><td>' + LTRIM(RTRIM(STR(@l_huoyue,
                                                              12)))
    + '</td><td>' + LTRIM(RTRIM(STR(@l_chongzhi, 12))) + '</td></tr>'; 
IF LEN(@v_content) > 0
    BEGIN        
        SET @v_body = '<html><body bgcolor=white> <table border = 1><tr><th>标1</th> <th>标2</th> <th>标3</th> <th>标4</th> </tr>';

 SET @v_body = @v_body + @v_content + '</table></body></html>';
        
        EXEC msdb.dbo.sp_send_dbmail @profile_name = 'SQLMailConfig163',
            @recipients = 'xxxxxx@qq.com;xxxxx@163.com', @subject = '统计', @body = @v_body,
            @body_format = 'HTML';                  
    END;

4、上面作业一定要在sql server 2008 R2中先执行以下看有没有报错,在放入作业;profile_name名字替换成自己在创建job的时候填的,msdb.dbo.sp_send_dbmail是系统自带的。
           

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值