SQL server 2000邮件配置方法

xiaoxiao2024-04-12  20

 

--========================================--SQL 邮件配置--outlook 2003,sql server 2000,163邮局--========================================OutLook配置:OutLook 2000 网上说经常发不成功,我用的是OutLook 2003,打开sql server 2000的企业管理器,展开支持服务,右击“sql 邮件”点属性。这时里面就会出现有outlook了。选择它就可以了。sql server 2000:在控制面板中打开“服务”,找到:MSSQLSERVER 和 SQLSERVERAGENT,其登录方式不应该为“本地系统”,应该是具有邮件客户端程序操作权限的 Windows 用户,比如 Windows 管理员,修改方法为,双击该服务,切换到“登录”标签,选择“此帐户”,点击“浏览”选择一个用户,并输入密码,点击“确定”。右键,重新启动这两个服务。展开“管理”,“SQL Server 代理”,在“操作员”上点击右键,“新建一个操作员”,这个操作员就是我们要向其发送电子邮件的人。在“企业管理器”中,展开“支持服务”,在“SQL 邮件”上点击右键,“属性”,在下拉列表框中选择“配置文件名”,点击测试,检查是否成功.如果我们要对作业进行监视,比如当数据库备份失败时向操作员发送邮件,就得在“SQL Server 代理”的“作业”列表中打开对应作业的属性,切换到“通知”标签,选择相应操作员即可。至此,一个 SQL 邮件配置就完成了,请确保您的 SQL Server Agent 随时都在运行。请确保您的 SQL Server 补丁是最新的。要注意的几个问题:1.sql server 2000的启动帐户要和sqlagent的启动帐户相同。并且不能用系统帐户。2.smtp服务器是否需要验证。hotmail的免费信箱好像不可以在outlook里设置,最好用OutLook 2003 3.在sql邮件运行过程中不能关闭outlook,否则不能发送邮件,要先启动OutLook 2003 再启动 SQL ,可执行exec startmail /exec stopmail 来启动或停止sqlmail.--下面为测试代码,可将直接放入作业里,增加调度即可运行.--=======================================--将存储过程的结果发送给指定联系人--=======================================exec xp_sendmail [url=mailto:'***@hotmail.com',@query='sp_configure']'***@hotmail.com',@query='sp_configure'[/url]--============================================--统计northwind数据库中相关信息--并将结果发送到指定的信箱--原理:northwind数据库中没有xp-sendmail--存储过程,所以采用方式为:--将查询结果写入一个全局临时表--然后在删除全局临时表--===========================================set nocount onselect 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 ##boyi55from (select convert(nvarchar(10),productid) as productid,convert(nvarchar(10),orderid) as orderid,quantity from [order details]) as odgroup by od.productid,od.orderidwith cubeexec master..xp_sendmail @recipients='h11h99@126.com;fengjicai@hotmail.com;queeny_fei@yahoo.com.cn',@subject='northwind数据库中order details相关信息汇总结果',@message='此信息由sql server 2000数据库作业自动发送,如果输出错误,请直接回复e-mail到:[url=mailto:fengjicai@hotmail.com]***@hotmail.com[/url]',@query='select * from ##boyi55',@width=100--设置查询的输出文本行宽drop table ##boyi55set nocount off--===========================================--将结果作为附件文件发送--===========================================exec master..xp_sendmail @recipients='***@hotmail.com',@query='select * from information_schema.tables',@subject='SQL Server report',@message='The contents of information_schema.tables:',@attach_results='true',@width= 250======================

 --===========================================--===========================================xp_sendmail {[@recipients =] "recipients [;...n]"}   [,[@message =] "message"]   [,[@query =] "query"]   [,[@attachments =] attachments]   [,[@copy_recipients =] "copy_recipients [;...n]"   [,[@blind_copy_recipients =] "blind_copy_recipients [;...n]"   [,[@subject =] "subject"]   [,[@type =] "type"]   [,[@attach_results =] "attach_value"]   [,[@no_output =] "output_value"]   [,[@no_header =] "header_value"]   [,[@width =] width]   [,[@separator =] "separator"]   [,[@echo_error =] "echo_value"]   [,[@set_user =] "user"]   [,[@dbuse =] "database"]      其中@recipients是必需的      参数说明:      参数 说明   @recipients 收件人,中间用逗号分开   @message 要发送的信息   @query 确定执行并依附邮件的有效查询,除触发器中的插入表及删除表外,此查询能引用任何对象   @attachments 附件   @copy_recipients 抄送   @blind_copy_recipients 密送   @subject 标题   @attach_results 指定查询结果做为附件发送   @no_header 不发送查询结果的列名   @set_user 查询联接的用户名,默认为Guset   @dbuse 查询所用的数据库,默认为缺省数据库

相关资源:SQL SERVER发送邮件设定全篇
转载请注明原文地址: https://www.6miu.com/read-5014923.html

最新回复(0)