急急!!配置SQL2000的MAIL!

showmetoyou 2003-11-21 10:51:05
我朋友是做SQL管理的!我对管理不是很清楚!他想让一个JOB在执行完成后发送把成功日志等MAIL给我!我知道在JOB里有可以配置的地方!也找到了!但我不清楚各个地方应该怎么填!请高手指点!提示:我听说好象首先要启动EXCHANG服务的,后面我就不知道了!帮助里面还叫配置“控制面板”中的邮件!我已晕了!:)
...全文
116 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
txlicenhe 2003-12-04
  • 打赏
  • 举报
回复
打开IE->工具->internet选项->程序->邮件->选microsoft outlook
showmetoyou 2003-12-04
  • 打赏
  • 举报
回复
有管理员吗?我这张贴给不了分!如果我给自己分,它提示不行,如果我不给,它又说回复次数大于给分人数!网管帮处理一下吧!
tjan 2003-12-04
  • 打赏
  • 举报
回复
1。不可以给自己分
2。给分的总和应该等于问题的点数。
showmetoyou 2003-11-24
  • 打赏
  • 举报
回复
我把
EXEC xp_sendmail @recipients = '收件人地址',
@query = 'SELECT * FROM 表',
@subject = 'SQL Server Report',
@message = '邮件来了',
@attach_results = 'TRUE', @width = 250配置改动后!
放在查询器里执行。出现错误!提示如下:
服务器: 消息 18030,级别 16,状态 1,行 0
xp_sendmail: 无默认邮件客户程序,或者当前邮件客户程序无法实现消息请求。请运行 Microsoft Outlook 并将其设为默认邮件客户程序。
兄弟!请问怎么解决?
lvltt 2003-11-21
  • 打赏
  • 举报
回复
写一个存储过程来发邮件,用job调用此存储过程即可。
1:
D. 将结果作为附件文件发送
下例将查询 SELECT * FROM INFORMATION_SCHEMA.TABLES 的结果作为文本文件附件发送给 Robert King。下例包含邮件的主题行以及将在附件之前出现的邮件正文。@width 参数用于防止在输出行中换行。

EXEC xp_sendmail @recipients = '收件人地址',
@query = 'SELECT * FROM 表',
@subject = 'SQL Server Report',
@message = '邮件来了',
@attach_results = 'TRUE', @width = 250

2: job
你的数据库服务器-》企业管理器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程或语句,在“调度”里面填写什么时间执行


EXEC sp_add_job @job_name = '作业名字'


EXEC sp_add_jobstep @job_name = '作业名字',
@step_name = '步骤名子',
@subsystem = 'TSQL',
@command = 'EXEC 库名..过程名',
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔

EXEC sp_add_jobschedule @job_name = '作业名字',
@name = '作业调度名字',
@freq_type = 4, -- 每天
@freq_interval = 26, --间隔
@active_start_time = 10000 --开始时间
lvltt 2003-11-21
  • 打赏
  • 举报
回复
联机帮助:

配置邮件配置文件
SQL 邮件和 SQLAgentMail 可以使用相同或不同的邮件配置文件。如有必要,每个邮件配置文件可以在各自的域帐户中进行配置。

配置 SQL 邮件配置文件
邮件配置文件一经配置,即专门用于 Microsoft® Windows NT® 4.0 或 Windows® 2000 用户域帐户,当用户成功登录到 Windows NT 4.0 或 Windows 2000 时,此用户帐户被激活。SQL 邮件必须在启动 Microsoft SQL Server™ 实例时所使用的同一用户域帐户或环境中创建邮件配置文件。当一个邮件存储过程执行时,SQL 邮件将在触发该过程的域帐户中查找已定义的邮件配置文件。

如果打算使用邮件存储过程,必须:

有一个遵从扩展 MAPI 的邮件服务器。

xp_startmail
启动 SQL 邮件客户端会话。

语法
xp_startmail [[@user =] 'mapi_profile_name']
[,[@password =] 'mapi_profile_password']


配置邮件配置文件,供 MSSQLServer 用于连接您的邮件服务器。

xp_sendmail
向指定的收件人发送邮件和查询结果集附件。

语法
xp_sendmail {[@recipients =] 'recipients [;...n]'}
[,[@message =] 'message']
[,[@query =] 'query']
[,[@attachments =] 'attachments [;...n]']
[,[@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']

txlicenhe 2003-11-21
  • 打赏
  • 举报
回复


如何为sql server中sql mail 设置邮箱
1.使用 MSSQLServer 服务会用到的用户帐户登录到 Microsoft Windows NT® 4.0 或 Windows® 2000 上。该用户帐户必须是本地计算机的管理员和域帐户。
2.确认 Exchange Server 客户端 (Exchnge32.exe) 或 Microsoft Outlook™ 客户端 (Outlook.exe) 能够连接到 Exchange Server 而且能够发送电子邮件。如果使用 Outlook,确保 Outlook 安装时选择了 "用于企业或工作组 "选项。
3.确认所用的 Exchange Server 配置文件中没有个人消息存储 (.pst)。Exchange Server 配置文件的名字不应超过 32 个字符。
4.在 "服务 "选项卡上,确认 Microsoft Exchange Server 和个人通讯簿是唯一可用的服务,然后单击 "发送 "选项卡。确认 "发送到 "框中选定的内容是 Exchange Server 中的邮箱,它应该有一个类似于 "邮箱 - <友好的用户名 > "的名字(其中 <友好的用户名 >是在第一步中登录到 Windows NT 4.0 或 Windows 2000 的用户名)。
5.要运行带有 Exchange Server 的 "SQL 邮件 ",MSSQLServer 服务必须在第一步中登录的同一个用户帐户下运行。在 "控制面板 "中,双击 "服务 ",选择 MSSQLServer 服务,然后单击 "启动 "。
6.确认 "SQL 邮件 "的配置文件是否正确。在 SQL Server 企业管理器中,展开服务器,展开 "支持服务 "文件夹,选择 "SQL 邮件 ",然后用右键单击。单击 "属性 ",然后在 "常规 "选项卡上,确保 "配置文件名 "框中指定的配置文件名正确。(事件探查器名必须与第三步中用到的配置文件名匹配。)单击 "测试 ",验证配置文件设置正确。
7.如果 "SQL 邮件 "无法启动(例如,显示错误信息指出配置文件不正确),请检查设置确保未将 Outlook Express 设置为默认的电子邮件客户程序。在 "控制面板 "中双击 "Internet "选项。在 "程序 "选项卡中,验证 Outlook Express 不在电子邮件组合框中。如果不得不将默认的电子邮件客户程序更改为 Outlook Express 以外的客户程序,那么,可能需要先验证 "SQL 邮件 "能够用邮件配置文件启动,然后再停止并重新启动 MSSQLServer 服务。
在有些情况下,邮件的配置文件可能会损坏而且 "SQL 邮件 "将无法使用它。要更正这个问题,需要把配置文件复制到另一个文件名下,或重新创建配置文件。
8.如果用来启动 Microsoft SQL Server™ 的帐户没有权限访问 Exchange 服务器,那么就无法使用 "SQL 邮件 "。执行 xp_cmdshell 来测试 SQL Server 对 Exchange Server 的访问权限,它执行与 "SQL 邮件 "相同的权限。使用下面的命令测试对服务器的连接,假定 Exchange Server 位于名为 "MyServer "的计算机上。

xp_cmdshell "NET USE \\MyServer\IPC$ "

如果这个命令无法正常执行,说明第三步未正确完成。



1: 邮箱帐号的用户
2:SQL AGENT的启动用户(控制面板->管理工具->服务->SQLAGENT->启动用户和密码)
这两个要一样
showmetoyou 2003-11-21
  • 打赏
  • 举报
回复
不好意思!因为太急!都语无伦次了!“他想让一个JOB在执行完成后把成功日志等MAIL给他的邮箱!”

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧