开发者社区> 余二五> 正文

SQL server 2000邮件配置方法

简介:
+关注继续查看
--SQL 邮件配置
--author:Boyi55 date:2006-11-30
--outlook 2003,sql server 2000,163邮局
--========================================
首先要说的一点是,这里要用到的是outlook而不是系统自带的outlook express.我用outlook express试过好多次都没有成功。这次我做的有些乱,所以就打乱顺序来说吧。先说sql server 2000.这里面要配置的主要是sql server 2000的启动帐号和sql agent的启动帐号。不管是sql server 2000还是sqlagent都要用系统管理号帐号。这个可以在sql server 2000里面设,也可以在系统服务里面设。我是在服务里面做的。在运行里打开services.msc找到mssqlserver和sqlserveragent这两个服务。右击属性,在登录选项卡上用“此帐户”点浏览,找到一个管理员帐号,然后输入两次管理员密码。这里我用的是administrator.然后点确定。再打开cmd重启一下sql server 2000。
由于我一直用的outlook express所以这次我新安了outlook 2003.在outlook 2003里新建一个邮件帐户。这里我选用的是163的信箱:boyi55@163.com。对应的pop3和smtp服务器分别为:pop3.163.com和smtp.163.com。这时如果点测试帐户设置,则最后一步会出错,也就是可以收信而不可以发信。我在163的帮助里找到原因是smtp服务器要求验证。所以。可以点“其他设置”在发送服务器选项卡上选上“我的发送服务器(SMTP)要求验证”下面选择“使用与接收邮件服务器相同的设置”点确定。这样再点“测试帐户设置”就会成功了。然后到控制面板里,找到邮件。点显示“配置文件”这里你会看到里面有一个outlook.如果用的是outlook express则在控制面板里是不会出现邮件这个项目的。然后点确定,打开sql server 2000的企业管理器,展开支持服务,右击“sql 邮件”点属性。这时里面就会出现有outlook了。选择它就可以了。如果要建操作员的话,还得在sqlserveragent属性的邮件配置文件这里也选择outlook。这样,去建一个操作员,输入一个e-mail地址。点测试,过一会到你的信箱里就可以收到信了。呵呵。
要注意的几个问题:
1.sql server 2000的启动帐户要和sqlagent的启动帐户相同。并且不能用系统帐户。
2.smtp服务器是否需要验证。hotmail的免费信箱好像不可以在outlook里设置。
3.在sql邮件运行过程中不能关闭outlook,否则不能发送邮件。

sql 邮件(续)

--==============================
--sql邮件发送
--author:boyi55,date:2006-12-03
--==============================

在电脑前整整坐了一天。下午的时候想到上次只是简单的可以让sql server 2000发送邮件。至于邮件的内容,却只是简单的点了下那个测试按钮所发的一封测试邮件。至于sql 邮件到底能做什么还一点也不了解!刚开始试着用作业,当作业执行完成里发信到指定的信箱里。可是这样,只能发送一个人,并且所发信的内容也只是简单的说明作业成功失败。想起有xp_sendmail这一个存储过程,然后可以在作业里加一个步骤,成功时,用sendmail发一段话到信箱里。失败时,用sendmail发另一段话到信箱里。看了下帮助。还好行容易理解。也很简单的就实现了!那能不能把一个结果集发到我的信箱里呢?这样的话,我就可以把一些常用的统计建成一些作业,当用到的时候就直接执行一下不就可以了吗?这个看上去也很容易实现,可结果往往没有想像的那么好!不过最后还是搞出来了。当时正好在看webcasts,所以顺手拿了一个cube的查询过来,呵呵。下面贴些代码出来吧!

--=============================================
--将hello,this e-mail sent from sql server !
--发送给:fengjicai@hotmail.com,[email]h11h99@126.com[/email]
--副本发送给:queeny_fei@yahoo.com.cn
--邮件主题是:alter from you SQL server 2000
--author:boyi55,date:2006-12-03
--=============================================

xp_sendmail @recipients='[email]fengjicai@hotmail.com[/email];[email]h11h99@126.com[/email]',
@message='hello,this e-mail sent from sql server !',
@copy_recipients='[email]queeny_fei@yahoo.com.cn[/email]',
@subject='Alter from you SQL Server 2000' 


--=======================================
--将存储过程的结果发送给指定联系人
--author:boyi55,date:2006-12-03
--=======================================

exec xp_sendmail [url=mailto:'[email]fengjicai@hotmail.com[/email]',@query='sp_configure']'[email]fengjicai@hotmail.com[/email]',@query='sp_configure'[/url]
--============================================
--统计northwind数据库中相关信息
--并将结果发送到指定的信箱
--author:boyi55,date:2006-12-03
--原理:northwind数据库中没有xp-sendmail
--存储过程,所以采用方式为:
--将查询结果写入一个全局临时表
--然后在删除全局临时表
--===========================================

set nocount on
select case when(grouping(od.productid)=1)then '定单总计:'
else isnull(od.productid,'空值') end as productid,
case when (grouping(od.orderid)=1)then '产品总计:'
else isnull(od.orderid,'空值')end as orderid,sum(od.quantity) as'总计'
into ##boyi55
from (select convert(nvarchar(10),productid) as productid,convert(nvarchar(10),orderid) as orderid,quantity from [order details]) as od
group by od.productid,od.orderid
with cube
exec master..xp_sendmail @recipients='[email]h11h99@126.com[/email];[email]fengjicai@hotmail.com[/email];[email]queeny_fei@yahoo.com.cn[/email]',
@subject='northwind数据库中order details相关信息汇总结果',
@message='此信息由sql server 2000数据库作业自动发送,如果输出错误,请直接回复e-mail到:[url=mailto:fengjicai@hotmail.com][email]fengjicai@hotmail.com[/email][/url]或者电话联系侯向博:13633830414!',
@query='select * from ##boyi55',
@width=100--设置查询的输出文本行宽
drop table ##boyi55
set nocount off

--===========================================
--将结果作为附件文件发送
--author:boyi55,date:2006-12-03
--===========================================

exec xp_sendmail @recipients='[email]fengjicai@hotmail.com[/email]',
@query='select * from information_schema.tables',
@subject='SQL Server report',
@message='The contents of information_schema.tables:',
@attach_results='true',
@width= 250
======================
这里我想到两个问题。记得好久以前,长风兄问我outlook怎样开机就可以最小化。当然只记得快捷方式属性里有一个运行方式中有一个属性“最小化”,可试了一下还是老样子一点反应都没有。这里可以有几种方法解决。outlook 2003启动的时候在任务栏和通知区域都有显示图标。只要在通知区域右击outlook图标选择最小化时隐藏就可以了。还有可以用任务计划,定义一个任务,当计算机开机时自动运行outlook,并且要选择登录前运行。另外还可以用启动和@命令,但比较一下还是用任务计划比较好一点。
还有一点就是outlook和sqlserveragent这两个,如果sqlserveragent已经启动,这时候再启动outlook会报错,说是文件正在被使用。这时必须先停掉sqlserveragent才可以把outlook启动开。所以我在我的服务器上设置的是outlook在登录前启动,而sqlserveragent则手动启动。









本文转自 boyi55 51CTO博客,原文链接:http://blog.51cto.com/boyi55/26946,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ASP+SQL Server C#网上线上选课系统的课程毕业设计
本设计是根据部分学校的实际情况,在Visual Studio环境中,利用ASP.NET、SQL Server数据库等技术开发了基于B/S模式的网上在线选课系统。在设计中完成了院系、专业、课程、教师、学生信息的管理功能及在线选课、查看选课学生、权限限制等功能。经测试,此系统满足教务系统用户需求,能够促进当前高校教务工作的管理水平,有一定的实际应用价值。
18 0
ASP+SQL Server 精品课程教学网站的设计与实现web毕业设计
ASP+SQL Server 精品课程教学网站的设计与实现web毕业设计
20 0
「PostgreSQL」PostgreSQL 和SQL SERVER(性能和可伸缩性)
「PostgreSQL」PostgreSQL 和SQL SERVER(性能和可伸缩性)
18 0
SQL Server 2012软件安装教程
SQL Server 2012软件安装教程
14 0
实验二 SQL Server的数据库管理
1、掌握SQL Server Management Studio “对象资源管理器”的建立、修改和删除数据库的操作方法; 2、掌握T-SQL语言建立、修改和删除数据库的方法。
36 0
实验一 SQL Server的基本操作
(1) 掌握SQL Server Management Studio “对象资源管理器”的使用方法; (2) 掌握SQL Server Management Studio “查询分析器”的使用方法; (3) 对数据库及其对象有一个基本的了解。
23 0
数据库(Sql server语言)(一)
数据库(Sql server语言)(一)
24 0
SQL Server 跨版本数据迁移实践
SQL Server 的导入和导出向导是一个非常有用的工具,可以帮助用户快速导入和导出数据,而无需编写复杂的 SQL 查询或程序代码。使用导入和导出向导,用户可以选择数据源、目标数据、映射源和目标列、指定导入或导出选项以及完成导入或导出操作,整个使用体验也非常简单便捷。
33 0
QGS
Centos7配置ODBC连接SQL server数据库
yum install unixODBC unixODBC-devel 如有错误请指正,谢谢
42 0
+关注
余二五
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
时序数据库TSDB的SQL与流计算
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多