SQL2005 数据库邮件设置

SQL2005 中添加了数据库邮件功能,使用起来还是很方便地。

1、打开SQL Server 2005 外围应用配置器,选择“功能的外围应用配置器”,选择“数据库邮件”,勾选“启用数据库邮件存储过程”,点“确定”退出。

2、建立发送邮件的Sql server用户,例如mailuser ,给mailuesr添加权限,用户映射中添加msdb数据库的“DatabaseMailUserRole”权限。

3、打开 Sql Server Managerment Studio ,展开本地数据库下的“管理”,选择“数据库邮件”,右键选“配置数据库邮件”,填写配置项;例如,配置文件名:mail_Config,添加一个发送邮件的账户,也可以添加多个账户。按照配置步骤完成配置。

4、重复步骤3中,右键“数据库邮件”,选择“发送测试电子邮件”,填写发送的邮件地址发送。

以上就完成了数据库邮件的配置。下面看看简单的应用:

 

应用一、在作业完成后发送邮件通知

1、展开SQL server 代理,添加一个操作员,写上操作员的名字和Mail地址。

2、添加作业,配置作业的内容和步骤,选择“通知”,勾选“电子邮件”,后面选择刚才添加的操作员,后面选择“当作业失败时”,确定完成。

3、打开Sql server 代理的属性,选择“警报系统”,勾选“启动邮件配置文件”,“邮件系统”选择数据库邮件,“邮件配置文件”选择刚才创建的配置文件名,也就是“mail_Config”。确定完成。

4、一定要重启Sql server 代理,这点很重要,不然发不出邮件。我试了好长时间呢,就是因为没重启Sqlserver代理。

 

应用二、可以随时调用邮件存储过程发送邮件,也可以在程序中调用

在MSDB数据库中,发送邮件
ues MSDB
go
EXEC msdb..sp_send_dbmail 参数......   后面有很多参数
@profile_name                               -- 数据库邮件配置名称
, @recipients                                  -- 收件人列表,以分号分隔
, @copy_recipients                         -- 抄送人列表,以分号分隔
, @blind_copy_recipients                -- 密件抄送人列表,以分号分隔
, @subject                                      -- 邮件的主题, SQL Server Message
, @body                                         -- 邮件正文
, @body_format                            -- TEXT(默认) / HTML
, @importance                                -- 邮件的重要性:Low / Normal / High
, @sensitivity                                -- 邮件的敏感度:Normal / Personal / Private / Confidential
, @file_attachments                     -- 附件的文件名列表,以分号分隔。必须使用绝对路径指定列表中的文件
, @query                                      -- 要执行的查询,任何有效的Transact-SQL。查询结果可以作为文件附加,或包含在电子邮件的正文中。
, @attach_query_result_as_file    -- 指定查询结果集是否作为附件返回,0-正文(默认) / 1-附件
, @query_attachment_filename   -- 附件使用的文件名
, @query_result_header                -- 指定查询结果是否包含列标题,0-不包含 / 1-包含(默认)
, @query_result_separator          -- 列分隔符,默认为空格
, @query_result_width                  -- 每列最大宽度
, @append_query_error               -- query错误时发送电子邮件: 1-发送,错误消息包含在电子邮件的正文中。0-不发送电子邮件(默认)

察看发送情况
user MSDB
go
SELECT * FROM sysmail_allitems
SELECT * FROM sysmail_mailitems
SELECT * FROM sysmail_event_log

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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 "的计算机上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值