mssql数据库邮件提醒

mssql2000发邮件稍麻烦点 2000之后都很简单。填好SMTP的账号和密码就行。

ALTER PROC sync_alert
AS
    BEGIN
        DECLARE @sj VARCHAR(20) ,
            @email_conetent VARCHAR(8000)='';    --存放邮件正文

        if exists (Select * FROM Master..SysDatabases WHERE name='VSATANNOUNCEMENT' )
            SELECT  @sj = LEFT(pkgname, 10) FROM    VSATANNOUNCEMENT.dbo.tbl_sync_info   WHERE   type = 1; 
        IF DATEDIFF(dd, @sj, GETDATE()) > 1
            SELECT  @email_conetent += 'VSATANNOUNCEMENT接收不正常:' + @sj + '之后的数据没有!    ';

        IF exists (Select * FROM Master..SysDatabases WHERE name='VSATCODE' )
           SELECT  @sj = LEFT(pkgname, 10) FROM    VSATCODE.dbo.tbl_sync_info  WHERE   type = 1; 
        IF DATEDIFF(dd, @sj, GETDATE()) > 1
            SELECT  @email_conetent += 'VSATCODE接收不正常:' + @sj + '之后的数据没有!    ';

        IF LEN(@email_conetent) > 1
            BEGIN 
    --发送邮件 
                EXEC msdb.dbo.sp_send_dbmail @profile_name = 'SendEmail',         --配置文件名称
                    @recipients = 'chinayangze@qq.com;lookforbug@163.com',  --收件email地址
                    @subject = '数据同步通信有问题',                 --邮件主题
                    @body = @email_conetent;            --邮件正文内容

            END;
    END;

设一个任务计划,就可监控数据是否正常了。

您可以选择一种方式赞助本站