每天上班。打开电脑,总是先看看数据库的运行情况,看看日志。于是就想利用是SqlServer自身的邮件系统,每天给自己定时发邮件,提高一点效率。
SqlServer图形化界面比较强大,配置发送邮件也比较简单(我是2012版):
一、启用Database Mail XPs功能
a、查看状态
select name,value, description,is_dynamic,is_advanced
from sys.configurations
where name like '%mail%'
(value值为1,表示服务启动了。)
b、启动服务
sp_configure 'show advanced options',1
go
reconfigure
go
sp_configure 'Database Mail XPs',1
go
reconfigure
go
二、配置数据库邮件文件
a、新建数据库文件
b、默认下一步到,配置数据库文件
c、默认下一步,注意选择“公共”
d、默认下一步,完成配置
二、发送邮件
脚本方式:
DECLARE @conetent VARCHAR(8000); --存放邮件正文
--设置发送的正文
SELECT @conetent = 'hellow world !!!' ;
--发送邮件
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'wxzhou', --配置文件名称
@recipients = 'wxzhou@iflytek.com', --收件email地址
@subject = '第一次发SqlServer数据库邮件', --邮件主题
@body = @conetent --邮件正文内容
除了脚本的形式,还有一个简单的测试方法:
查看发送成功的邮件:
三、日志查看与常见问题
a、日志查看:
b、常见问题
1、发送邮件后,会有一段时间的延迟,可能需要等几分钟,邮件才能发送成功。
2、SqlServer服务器需要连接外网(邮件服务器在外网时),你可以用web访问以下邮箱的服务器,看看能不能通。
3、有些邮件服务器会关闭stmp访问,这时候需要开启才能发送邮件:
4、防火墙的开启可能或影响到邮件的发送。
5、在网上看到有些杀毒软件也会影响到邮件的发送。
总结一下,不过是两种问题
网络问题:可以通过其他的方式发邮件,发送成功,就说明是SqlServer服务器问题,在继续排查。