【原创】SQL Server Job邮件详细配置
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邮件详细配置的更多相关文章
- sql server系统表详细说明
sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures 主数据库 配置选项 syscurconfigs 主数据库当前配置选 ...
- SQL Server 2008安装和配置过程
下面我将用图解的方式,来介绍SQL Server 2008安装和配置过程,希望对大家有所帮助. 闲言少叙,直奔主题!点击setup.exe安装文件后,如果系统没有以下组件,则会出现如下提示! 安装20 ...
- SQL Server 2000的安全配置
SQL Server 2000的安全配置 数据库是电子商务.金融连同ERP系统的基础,通常都保存着重要的商业伙伴和客户信息.大多数企业.组织连同政府 部门的电子数据都保存在各种数据库中,他们用这些数据 ...
- sql server 2005 外围应用配置器
想要实现sql server 2005 远程连接数据库,我们必需要用到sql05上自带的外围配置器,以下是对它的一些配置上的介绍: 首先我们要打开sql05外围配置器,例如以下图: 打开后,我们如今就 ...
- JDBC连接sql server数据库的详细步骤和代码
JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...
- Sql Server Configuration Manager 网络配置为空,没有实例
新用户一天内不准提问...Sql Server Configuration Manager 网络配置为空,没有实例无法设置ip和端口进行连接..
- SQL Server数据库邮件发送异常案例
最近遇到两起关于SQL Server数据库邮件发送异常的案例,这些问题也有点意思,顺便记录一下.方便以后遇到类似问题的人参考,不要被这些问题弄得抓狂! 案例1:我们一台数据库服务器突然发送邮件都不 ...
- 代码实现SQL SERVER TCP/IP协议配置
代码实现SQL SERVER TCP/IP协议配置 SET NOCOUNT ON ) ,) ,) SET @Root = 'HKEY_LOCAL_MACHINE' SET @Path = 'Softw ...
- ms sql server 系统表详细说明
sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures 主数据库 配置选项 syscurconfigs 主数据 ...
随机推荐
- 单例解决存储微信Token信息保留两小时
采用单例模式可以存储初始化数据,比如第一次对/api/test接口进行了访问,传入的信息为“123”,则在两个小时之内返回的信息依然是“123”,无论传入的参数是什么,如果有效时间过了两个小时,比如传 ...
- Java 泛型 二
一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...
- 编译器错误消息: CS1617: 选项“6”对 /langversion 无效
编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS1617: 选项“6”对 /langversion 无效:必须是 ...
- 批量修改Linux文件夹下所有文件大小写
小写转大写: [zengs@SYS SOS]$ for cpplive in *; do mv $cpplive `echo $cpplive|tr [a-z] [A-Z]`; done 大写转小写: ...
- Jenkins拾遗--第五篇-git插件填坑
Jenkins使用过程中,大部分Job的第一项就行从源码库里签出代码.由于git越来越流行,所以,稍微新一些的项目的源码管理都是基于git的.对应的,jenkins的git plugin几乎是大部分j ...
- js限制文本框只能输入特定字符
限制只能输入数字 // ---------------------------------------------------------------------- // <summary> ...
- 【Random Forest】林轩田机器学习技法
总体来说,林对于random forest的讲解主要是算法概况上的:某种程度上说,更注重insights. 林分别列举了Bagging和Decision Tree的各自特点: Random Fores ...
- winform对图片进行灰度处理
//图片进行灰度处理 //originalImage为原图像 返回灰度图像 private Bitmap GrayImage(Bitmap originalImage) { ImageAttribut ...
- Python全栈工程师
ParisGabriel Python 入门基础 print(“hello world”)变量 : 存储信息的,日后被调用.修改操作常量: 固定不变的量,字母大写命名规则:1. 字母数 ...
- initialization of 'zf' is skipped by 'case' label原因及解决方法
原因:switch 的 case 中不能定义变量,不然就会报错.可能是变量的初始化会因为有时候case条件不被执行而跳过. 解决方法: 1:在case中用{}将代码括起来,这样在{}中就能定义变量了; ...