1 简介

SQL Server 代理具有发送电子邮件的功能。您可以配置 SQL Server 代理邮件,使其在出现下列情况时向预定义的操作员发送电子邮件:

警报触发时。可以配置警报,以针对所发生的特定事件发送电子邮件通知。例如,可以配置警报,将可能需要立即采取行动的特定数据库事件或操作系统情况通知操作员。有关配置警报的详细信息,请参阅定义警报

计划任务成功完成或未完成(例如,数据库备份或复制事件)。例如,如果在月底的执行进程过程中出现错误,就可以使用 SQL Server 代理邮件通知操作员。

可以给一组收件人发送电子邮件消息,通知他们所计划作业的状态,以便用户采取可能的对策。例如,您可以配置 SQL Server 代理,在备份作业完成时发送电子邮件。

默认情况下,SQL Server 代理邮件是关闭的。若要配置它,请使用“SQL Server 代理属性”对话框的“警报系统”窗格。请注意,只有在作业完成时,才会要求 SQL Server 代理邮件发送警报通知和自动通知。作业中的各个作业步骤也可以发送电子邮件,无论 SQL Server 代理邮件是否启动。例如,Transact-SQL 作业步骤可以使用数据库邮件将查询结果发送给一些收件人。

SQL Server 代理邮件支持两个电子邮件系统。当配置 SQL Server 代理邮件时,可以选择要使用的邮件系统:

当选择了数据库邮件时,SQL Server 代理将使用数据库邮件发送电子邮件。

当选择了 SQL Mail 时,SQL Server 代理将使用扩展 MAPI 接口发送电子邮件。

!!!注意

在 SQL Server 的未来版本中将删除 SQL Mail。因此,请避免在新开始的工作中使用此功能,并制定计划,修改当前使用 SQL Mail 的应用程序。若要从 Microsoft SQL Server 发送邮件,请使用数据库邮件。

更改电子邮件系统后,必须重新启动 SQL Server 代理服务才能使更改生效。

2 启动必要的SQL服务

分别启动SQL Server和SQL Server代理服务

PS:红色标记服务必须启动

3 角色成员设定

3.1 角色成员设定

数据库邮件配置向导提供了管理数据库邮件配置对象并根据需要启用数据库邮件的简便方法。若要使用此向导,发送电子邮件的账户必须是 sysadmin 固定服务器角色的成员。若要发送数据库邮件,发送电子邮件的账户还必须是 msdb 数据库中的 DatabaseMailUserRole 数据库角色的成员。

3.2 设定sysadmin角色成员

配置发送邮件的用户必须要是SQL SERVER sysadmin角色中的成员,如果是请跳过此步骤,进入[4.2是否是MSDN的DatabaseMailUserRole角色成员]进行设置,如果不是,请按照如下步骤将所需用户添加到sysadmin。

1、 SQL SERVER数据库服务器,选择[安全性]->[服务器角色],右键选择[属性]

2、 在弹出的[服务器角色属性],点击[添加]

3、 在[选择登录名]页,点击[浏览],在[查找对象]页中罗列了当前能登录服务器的登录名,勾选你当前登录服务器的用户名,点击[确定],再在[选择登录名]页点击[确定]即可完成添加

4、 点击[确定]即将用户添加到了sysadmin角色中,至此配置完毕。

3.3 设定MSDB的DatabaseMailUserRole角色成员

如果我们在MSDB的安全性中的用户列表中没有发现当前登录账户,则需要我们手动按照下文添加当前计算机登录用户和角色,否则就直接在下文提到的DatabaseMailUserRole角色中添加当前用户即可

1.SQL SERVER服务器,展开[MSDB]->[安全性]->[用户],右键选择[新建用户]

2.在[数据库用户 – 新建]页,输入[用户名],点击三个点的按钮

3.在[选择登录名]页,点击[浏览],在[查找对象]页,勾选要添加的用户,点击确定即可

4.上步完成后,在[数据库用户 – 新建]的[角色成员]中勾选[DatabaseMailUserRole]选项即可,点击确定配置完毕

4 配置数据库邮件服务

4.1 开启配置数据库邮件

连接数据,管理->数据库邮件->右键选择【配置数据库邮件】

4.2 打开配置向导

点击【下一步】

选择【通过执行以下任务来安装数据库邮件】,这个选项就是重新配置一个服务器邮件的意思

4.3 填写配置文件

填写【配置文件名】等信息后,点击【添加】按钮添加用户

这里分两种情况:

1、 如果您以前添加过配置文件,那么点击【添加】按钮会弹出一个选择配置文件的选框(如图一)。当然,您也可以点击【新建账户】来添加新的账户

图一

2、如果您是第一次添加配置文件,那么点击【添加】按钮则是直接弹出新建用户的界面啦(如图二)。

图二

4.4 配置数据库邮件账户信息

填写账户名、服务器、端口号等信息后主要的是选择【基本身份验证】填写您当前填写的用户的信息和密码。

4.5 将对应的配置文件设置成默认的配置文件

4.6 配置成功如下所示

点击完成结束

4.7 发送测试邮件

点击【发送测试点击邮件】

选择刚才您自己配置的配置文件

填写【收件人】地址,点击【发送测试电子邮件】完成后会弹出这个提示,点击确定即可。

再去查看你的刚才填写的收件邮箱,应该收到测试邮件啦。

5 配置 SQL Server 代理邮件以使用数据库邮件

邮件代理服务器,进入属性界面

左侧选择[警报系统],右侧勾选[启用邮件配置文件]以便启用邮件配置文件,在[邮件系统]选择[数据库邮件],在[邮件配置文件]下拉列表中选择对应的邮件配置文件即可

重启Agent服务器

1.右键[SQL SERVER代理],选择[重新启动]

2.弹出的确认框中选择[是],重启完毕即可

5.1 添加操作人员

【新建操作员】

5.2 配置操作员选项卡

在【常规】选项,填写【姓名】,选择【寻呼值班计划】所需要发送的日期和时间即可。

添加完成即可在【操作员】看到刚才添加的操作员

5.3 为作业添加发送邮件功能

选择【常规】选项,填写【名称】

创建各个作业的步骤、计划等

选择【通知】选项卡,在选择作业触发的情况就可以

PS:当然这个还需要添加一些任务执行的步骤,那具体的作业的具体步骤大家在具体的项目中再具体去设置吧。

到此,Job配置完毕,最后重新启动Agent服务即可生效

如果觉得这篇文章看了对您有帮助,请点击右下方按钮【推荐】

以方便他人在 DataStrategy 博客推荐栏中快速看到这些文章,感谢!。

【原创】SQL Server Job邮件详细配置的更多相关文章

  1. sql server系统表详细说明

    sysaltfiles  主数据库 保存数据库的文件 syscharsets  主数据库字符集与排序顺序 sysconfigures 主数据库 配置选项 syscurconfigs 主数据库当前配置选 ...

  2. SQL Server 2008安装和配置过程

    下面我将用图解的方式,来介绍SQL Server 2008安装和配置过程,希望对大家有所帮助. 闲言少叙,直奔主题!点击setup.exe安装文件后,如果系统没有以下组件,则会出现如下提示! 安装20 ...

  3. SQL Server 2000的安全配置

    SQL Server 2000的安全配置 数据库是电子商务.金融连同ERP系统的基础,通常都保存着重要的商业伙伴和客户信息.大多数企业.组织连同政府 部门的电子数据都保存在各种数据库中,他们用这些数据 ...

  4. sql server 2005 外围应用配置器

    想要实现sql server 2005 远程连接数据库,我们必需要用到sql05上自带的外围配置器,以下是对它的一些配置上的介绍: 首先我们要打开sql05外围配置器,例如以下图: 打开后,我们如今就 ...

  5. JDBC连接sql server数据库的详细步骤和代码

    JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...

  6. Sql Server Configuration Manager 网络配置为空,没有实例

    新用户一天内不准提问...Sql Server Configuration Manager 网络配置为空,没有实例无法设置ip和端口进行连接..

  7. SQL Server数据库邮件发送异常案例

      最近遇到两起关于SQL Server数据库邮件发送异常的案例,这些问题也有点意思,顺便记录一下.方便以后遇到类似问题的人参考,不要被这些问题弄得抓狂! 案例1:我们一台数据库服务器突然发送邮件都不 ...

  8. 代码实现SQL SERVER TCP/IP协议配置

    代码实现SQL SERVER TCP/IP协议配置 SET NOCOUNT ON ) ,) ,) SET @Root = 'HKEY_LOCAL_MACHINE' SET @Path = 'Softw ...

  9. ms sql server 系统表详细说明

          sysaltfiles  主数据库 保存数据库的文件 syscharsets  主数据库字符集与排序顺序 sysconfigures 主数据库 配置选项 syscurconfigs 主数据 ...

随机推荐

  1. Parameter 'limit' not found. Available parameters are [arg1, arg0, pa

    mybatis代码报错,这是因为mapper识别不了limit,需要替换成 LIMIT #{arg0},#{arg1}

  2. CentOS 6.0 VNC远程桌面配置[转]

    原文出处: http://blog.haohtml.com/archives/12281 谢谢作者. 引言:必须明白:vncserver在调用的时候,会根据你的配置来启用server端的监听端口,端口 ...

  3. 《1024伐木累-周末特别篇》-中彩票了,开发APP

    本周发布的<1024伐木累>,受到了很多码汪们的好评,博主在这里感谢大家的支持,同时,博主临时起意,增加一期周末对话特别篇,让大家在“满血复活”的时间里,充分感受快乐的味道~ 1.中彩票 ...

  4. 转载——一步步学习js

    一步步学习javascript基础篇(0):开篇索引 阅读目录 索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习j ...

  5. Python3的unittest用例按编写顺序执行

    unittest是Python标准库自带的单元测试框架,是Python版本的JUnit,关于unittest框架的使用,官方文档非常详细,网上也有不少好的教程,这里就不多说了. 本文主要分享在使用un ...

  6. Python——数据类型之list、tuple

    本篇主要内容 •  list初识 •  list元素的访问 •  list内部所有的方法 •  tuple介绍和与list用法的比较 我觉得Python里面用的最多的就是List了,感觉好强大.他能存 ...

  7. 第二阶段团队冲刺-seven

    昨天: 合并程序(添加打印txt). 今天: 整体调试程序继续优化. 遇到的问题: 解决前两天的问题.

  8. 有许多部分没有在cgroup中显示啊,current/high/low/min等等

    没看见current/high/low/min 在cgroup中的显示内容

  9. 【bzoj3444】最后的晚餐 并查集

    题目描述 n个人排成一排,有m个条件,第i个条件要求ai和bi相邻,求方案数. 输入 输入有m+1行,第一行有两个用空格隔开的正整数n.m,如题所示.接下来的m行,每一行有两个用空格隔开的正整数,第i ...

  10. C#类和类成员初始化顺序

    1.不带静态成员的普通类,首先通过构造函数初始化. 2.带静态属性的类,无论是普通类还是静态类,都会先初始化静态字段,再执行构造函数. 3.类初始化时,不会执行类中方法,无论是否是静态.若想执行方法, ...