SQL 邮件配置篇

在我们运维工作中,经常要对备份,ETL等作业进行监控,这时我们需要用到SQL SERVER自带的邮件服务器,其原理,我在这么里不多说,直接来实战,下面是我对服务器配置源码,分享给大家,希望对大家有帮助。

exec sp_configure 'show advanced options',1
RECONFIGURE WITH OVERRIDE  
go
exec sp_configure 'database mail xps',1 
RECONFIGURE WITH OVERRIDE  
go--2.创建邮件帐户信息 
EXEC msdb..Sysmail_add_account_sp@ACCOUNT_NAME ='OCTMamiETL',-- 邮件帐户名称    @EMAIL_ADDRESS ='OCTMamiETL@163.com',-- 发件人邮件地址     @DISPLAY_NAME ='系统管理员',-- 发件人姓名  @REPLYTO_ADDRESS =NULL,@DESCRIPTION = NULL,@MAILSERVER_NAME = 'SMTP.163.COM',-- 邮件服务器地址    @MAILSERVER_TYPE = 'SMTP',-- 邮件协议      @PORT =25,-- 邮件服务器端口  @USERNAME = 'OCTMamiETL@163.com',-- 用户名  @PASSWORD = 'ABC123',-- 密码   @USE_DEFAULT_CREDENTIALS =0,@ENABLE_SSL =0,@ACCOUNT_ID = NULLGO--3.数据库配置文件
IF EXISTS(SELECT nameFROM   msdb..sysmail_profileWHERE  name = N'ETLErrorProfileLog')BEGINEXEC msdb..Sysmail_delete_profile_sp @profile_name='ETLErrorProfileLog'ENDEXEC msdb..Sysmail_add_profile_sp@profile_name = 'ETLErrorProfileLog',-- profile 名称  @description = '数据库邮件配置文件',-- profile 描述    @profile_id = NULLgo--4.用户和邮件配置文件相关联
EXEC msdb..Sysmail_add_profileaccount_sp@profile_name = 'ETLErrorProfileLog',-- profile 名称   @account_name = 'OCTMamiETL',-- account 名称     @sequence_number = 1 -- account 在 profile 中顺序
--5.发送文本测试邮件
EXEC msdb..Sp_send_dbmail@profile_name='ETLErrorProfileLog',@recipients='OCTMamiETL@163.com',--收件人@subject='Test title this is test ',@body=N'z中文邮件内容  中文邮件内容'go-----------------------------------------------------------------------------------
/*功能说明:启用警报系统里面的邮件配置参数说明: xp_instance_regwrite 修改注册表
*/
EXEC msdb.dbo.Sp_set_sqlagent_properties @email_save_in_sent_folder=1EXEC master.dbo.Sp_mssetalertinfo @pagersendsubjectonly = 0 --启用警报系统 【在通知消息中包含电子邮件的正文】EXEC master.dbo.Xp_instance_regreadN'HKEY_LOCAL_MACHINE',--启用警报系统 【启用邮件配置文件】N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',N'DatabaseMailProfile' ---邮件系统【选择数据库邮件】EXEC master.dbo.Xp_instance_regwriteN'HKEY_LOCAL_MACHINE',N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',N'UseDatabaseMail',N'REG_DWORD',EXEC master.dbo.Xp_instance_regwriteN'HKEY_LOCAL_MACHINE',--启用警报系统 【启用邮件配置文件】N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',N'DatabaseMailProfile',---邮件系统【选择数据库邮件】N'REG_SZ','ETLErrorProfileLog' ---邮件配置文件【邮件配置里面的SQLMailProfile】   -----------------------------------------------------------------------------------
DECLARE @Sys_OperatorsName VARCHAR(100)SET @Sys_OperatorsName='BSMicheal'IF EXISTS (SELECT nameFROM   msdb.dbo.sysoperatorsWHERE  name = @Sys_OperatorsName)BEGINEXEC msdb..Sp_delete_operator @name = @Sys_OperatorsName -- 操作员ENDEXEC msdb.dbo.Sp_add_operator@name = @Sys_OperatorsName,@enabled = 1,@weekday_pager_start_time = 90000,@weekday_pager_end_time = 180000,@saturday_pager_start_time = 90000,@saturday_pager_end_time = 180000,@sunday_pager_start_time = 90000,@sunday_pager_end_time = 180000,@pager_days = 127,@email_address = 'OCTMamiETL@163.com',-----仅可以对 SQL Mail 使用电子邮件别名。必须对数据库邮件使用电子邮件地址。@pager_address = N'',@netsend_address = N''/*功能说明: 在Job中添加操作员的操作参数说明:  @notify_level_email指定何时将该作业的项放入 Microsoft Windows 应用程序日志。eventlog_level 的数据类型为 int 【0 从不 1 成功时 2 失败时 3 始终】         修改说明:Create by LY on 2011-010-10
*/
IF EXISTS (SELECT 1FROM   msdb.dbo.sysjobsWHERE  name = 'dad')BEGINEXEC msdb.dbo.Sp_update_job@job_name = 'dad',---对应的作业名称@notify_level_email = 2,@notify_level_netsend = 2,@notify_level_page = 2,@notify_email_operator_name = 'BSMicheal' ---对应的操作员END;

 

当然,在配置过程中会遇到很多奇葩问题,我在这暂时不穷举了,总之一点,明白配置步骤,问题都不大,下面我说一下我觉得比较重要一个方面,权限控制,很容易被人忽略,因为我们数据库服务器不是本人配置,在配置的时候权限分配的不是到位,所以配置这个邮件服务功能有点曲折。

当我们调用作业用操作员发送的时候,发现怎么都发送不出去,后来在调试邮件中我发现了这行信息:

我就考虑到是不是该用户的权限不够,按照我正常的运维经验来看的话,配置SQL SERVER的时候这个用户所属的角色应该包含SYSADMIN这个的,所以我查看了该用户所属权限,果然,角色分配不对,后将其调整,作业可以正常发送邮件了。

转载于:https://www.cnblogs.com/roboot/p/6213990.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汽车之家的安全框架,是如何从0到1搭建的?

“别人家的安全”是安全威胁情报(微信ID:Threatbook)近期推出的一档专栏。 合规、管理、构建、应急……安全问题千千万,层出不穷。我们没办法给出这些问题的标准答案,但我们可以用Case Study的形式,让你看看…

《网络空间欺骗:构筑欺骗防御的科学基石》一1.1 主动网络空间防御中网络空间抵赖与欺骗的视图...

1.1 主动网络空间防御中网络空间抵赖与欺骗的视图 本文讲的是网络空间欺骗:构筑欺骗防御的科学基石一1.1 主动网络空间防御中网络空间抵赖与欺骗的视图,将抵赖与欺骗纳入标准操作规程(SOP):随着攻击技术的不断演进,网…

揭开勒索软件的真面目

一、前言 2013年9月,戴尔公司的SecureWorks威胁应对部门(CTU)发现了一种名为“CryptoLocker”的勒索软件,它以邮件附件形式分发,感染计算机并加密近百种格式文件(包括电子表格、数据库、图片等)…

Java中的阻塞队列-LinkedBlockingQueue(二)

原文地址:http://benjaminwhx.com/2018/05/11/%E3%80%90%E7%BB%86%E8%B0%88Java%E5%B9%B6%E5%8F%91%E3%80%91%E8%B0%88%E8%B0%88LinkedBlockingQueue/ 在集合框架里,想必大家都用过ArrayList和LinkedList,也经常在面试中问到他们之间的区别。…

碳钢腐蚀速率计算公式_镁合金轮毂螺栓连接的电偶腐蚀行为

环境污染和能源短缺促使日益发达的汽车工业大力推进构件轻量化,镁合金是最轻的结构材料之一,构件采用镁合金制造可以在减重的同时不降低结构强度,受到汽车工业的青睐。轮毂作为汽车的主要组成部件,其轻量化是汽车节能减排的有效途…

避免人为灾难:盘点数据中心里十大愚蠢行为

对于企业运营,数据中心从设计、部署等各个环节都有极其严格的规范,保证简单的“题目”不出错也需要企业IT管理人员的智慧,在数据中心任何一个小错误往往会带来巨大灾难。数据中心从设计、部署、测试、运行、运维等各个环节都不能有任何的疏忽…

leetcode1039. 多边形三角剖分的最低得分(动态规划)

给定 N,想象一个凸 N 边多边形,其顶点按顺时针顺序依次标记为 A[0], A[i], …, A[N-1]。 假设您将多边形剖分为 N-2 个三角形。对于每个三角形,该三角形的值是顶点标记的乘积,三角剖分的分数是进行三角剖分后所有 N-2 个三角形的…

thinkcmf 横向排列数据_利用python进行数据分析之数据清洗规整

1.处理缺失值数据使用dropna()时,注意里面参数axis、how、thresh的用法使用fillna()时,注意里面参数value、method、inplace、limit的用法2.数据转换去重data.drop_duplicates(keeplast)#注意keep的用法映射map()针对的是一维数组…

v$asm_diskgroup中state的说明

1.使用oracle账号连接数据库,查看v$asm_diskgroup 2.使用grid账号连接ASM实例,查看v$asm_diskgroup 3.官方v$asm_diskgroup关于state的解释 https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-ASM_DISKGROUP.html#GUID-5CF77719-7…

Python笔记 【无序】 【五】

描述符 将某种特殊类型的类【只要实现了以下或其中一个】的实例指派给另一个类的属性 1.__get__(self,instance,owner)//访问属性,返回属性的值 2.__set__(self,instance,value)//将在属性分配【即赋值】中调用,不返回任何内容 3.__delete__(…

化工图纸中LISP_化工设备厂参展模型设计制作

最近这个案子是受某化工设备企业委托做四套设备模型 用来参加展会在模型制作过程中,这类案例经常遇到。但是客户所提供的CAD图纸,往往是实物尺寸在进行缩放的过程中常会造成过薄和过于精细的情况出现眼下技术小哥就遇到这类情况让我们先看看客户提供的C…

社交大佬们的数据“大”在哪里?

文章讲的是社交大佬们的数据“大”在哪里,“别说忙,没工夫看书,你那刷FB/朋友圈的工夫腾出来,保证每周啃下一本”,小编身边总充斥着这样的“训话”。 额,奈何我每天的工作离不开从社交媒体中获取信息&#…

mysql 多数据源访问_通过Spring Boot配置动态数据源访问多个数据库的实现代码

之前写过一篇博客《SpringMybatisMysql搭建分布式数据库访问框架》描述如何通过SpringMybatis配置动态数据源访问多个数据库。但是之前的方案有一些限制(原博客中也描述了):只适用于数据库数量不多且固定的情况。针对数据库动态增加的情况无能为力。下面讲的方案能支…

菜鸟postman接口测试_postman 接口测试(转)

本文转载自testerhome;作者:xinxi1990 ;原文链接:https://testerhome.com/topics/18719;转载以分享知识为目的,著作权归原作者所有,如有侵权,请联系删除。postman使用创建用例集启动…

vb 数组属性_VB中菜单编辑器的使用讲解及实际应用

大家好,今天我们共同来学习VB中菜单方面的知识。VB中菜单的基本作用有两个:1、提供人机对话的界面,以便让使用者选择应用系统的各种功能;2、管理应用系统,控制各种功能模块的运行。在实际应用中,菜单可分为…

《JAVA程序设计》_第七周学习总结

一、学习内容 1.String类——8,1知识 Java专门提供了用来处理字符序列的String类。String类在java.lang包中,由于java.lang包中的类被默认引入,因此程序可以直接使用String类。需要注意的是Java把String类声明为final类,因此用户不能扩展Stri…

NeHe OpenGL教程 第三十七课:卡通映射

转自【翻译】NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改。对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢。 NeHe OpenGL第三十七…

SDN交换机在云计算网络中的应用场景

SDN的技术已经发展了好几年了,而云计算的历史更长,两者的结合更是作为SDN的一个杀手级应用在近两年炒得火热,一些知名咨询公司的关于SDN逐年增加的市场份额的论断,也主要是指SDN在云计算网络中的应用。 关于SDN在云计算网络中的应…

sql server 里面怎么支持数字使用双引号_国查:用中文编写SQL

这两天被 文言(wenyan-lang)刷屏了,这个项目在于使用文言文进行编程,我打算蹭个热度,把年初的作品再捞一捞,即中文SQL。1. 文言Wenyan:吾有一數。曰三。名之曰「甲」。為是「甲」遍。吾有一言。曰「「問天地好在。」」…

革新以太网交换机架构 全光网络的风刮进园区

全光网络的风正在刮进园区网,众所周知,光纤入户发展迅速,随着PON(无源光纤网络)技术在运营商通信网络的大规模使用,PON相关产业链逐步成熟,这也使得PON技术逐步在企业园区网得到应用。 基于铜线…