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.pswp.cn/news/394328.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394328.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394328.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

選定用戶與用戶組啟動流程(學習筆記)

public class RepostoryServiceTest {private static final Logger LOGGER LoggerFactory.getLogger(RepostoryServiceTest.class);Rulepublic ActivitiRule activitiRule new ActivitiRule();Testpublic void testRepository(){//repositoryService最重要的功能就是對流程定…

python關于包的題怎么做_Python自定義包引入

python中的Module是比較重要的概念。常見的情況是,事先寫好一個.py文 件,在另一個文件中需要import時,將事先寫好的.py文件拷貝 到當前目錄,或者是在中增加事先寫好的.py文件所在的目錄,然后import。這樣的做法&#x…

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

“別人家的安全”是安全威脅情報(微信ID:Threatbook)近期推出的一檔專欄。 合規、管理、構建、應急……安全問題千千萬,層出不窮。我們沒辦法給出這些問題的標準答案,但我們可以用Case Study的形式,讓你看看…

leetcode264. 丑數 II

編寫一個程序,找出第 n 個丑數。 丑數就是質因數只包含 2, 3, 5 的正整數。 示例: 輸入: n 10 輸出: 12 解釋: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 個丑數。 說明: 1 是丑數。 n 不超過1690。 解題思路 直接用treeset去重和排序 代碼 class Solution …

vr多人_如何構建多人VR網絡應用

vr多人by Srushtika Neelakantam通過Srushtika Neelakantam 如何構建多人VR網絡應用 (How to build a multiplayer VR web app) In this article, we’ll learn about three great frameworks/libraries that allow any web developer to build a VR app that works on any de…

量子測量 -- 確定性的死神

一、測量 -- 確定性的死神 前文已反復提及在量子世界中測量這一過程會產生很多奇異的、反直覺的現象。在第一篇文章中我舉的例子是:用同樣的配方,同樣的火候,同樣的廚具(所有你能想到的變量均相同)煎雞蛋,結…

python增刪改查csv文件_Python--作業2--對員工信息文件,實現增刪改查操作

#!/usr/bin/env python#-*- coding:utf-8 -*-#Author:Huanglinshengimportos#查詢方式一:select * from data_staff.txt where age > 22#查詢方式二:select * from data_staff.txt where dept "IT"#查詢方式三:select * from d…

ios注銷所有通知_您一直想了解的有關iOS中通知的所有信息

ios注銷所有通知by Payal Gupta通過Payal Gupta 您一直想了解的有關iOS中通知的所有信息 (Everything you’ve always wanted to know about notifications in iOS) 漂亮的小警報..? (Pretty Little Alerts..?) Notifications are a way to inform users when new…

vue-x

https://my.oschina.net/wangnian/blog/2055631轉載于:https://www.cnblogs.com/ylblogs/p/10694849.html

leetcode97. 交錯字符串(動態規劃)

給定三個字符串 s1, s2, s3, 驗證 s3 是否是由 s1 和 s2 交錯組成的。 示例 1: 輸入: s1 “aabcc”, s2 “dbbca”, s3 “aadbbcbcac” 輸出: true 解題思路 數組含義:dp[i][j]s1的前i個和s2的前j個能否組成字符串s3的前ij長度的子串 狀態轉移: d…

【LeetCode】19. Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n 2.After removing the second node from the end, the linked list becomes 1->2->3->5.題意:…

《網絡空間欺騙:構筑欺騙防御的科學基石》一1.1 主動網絡空間防御中網絡空間抵賴與欺騙的視圖...

1.1 主動網絡空間防御中網絡空間抵賴與欺騙的視圖 本文講的是網絡空間欺騙:構筑欺騙防御的科學基石一1.1 主動網絡空間防御中網絡空間抵賴與欺騙的視圖,將抵賴與欺騙納入標準操作規程(SOP):隨著攻擊技術的不斷演進,網…

管樁的彈性模量計算公式_樁基設計計算公式

0.9300.71555.31201018001.130973355樁長21.3mN(KN)φfc(kN/m2)Ap(m2)f’s(kN/m2)A’s(m2)樁直徑(m2)11518.963620.7119001.1309733553000000.0160849541.2標準值19006.29KN單樁承載力設計計算(建筑樁基技術規范08版)根據《建筑樁基技術規范》(JGJ94—2008), 單樁豎向極限承載力…

python函數的作用降低編程復雜度_Python語言程序設計 (第11期) 測驗5: 函數和代碼復用...

共10道單選題和2道編程題,限答1次、限時50分鐘選擇題1.以下選項不是函數作用的是:???????????????????????????????????????????????????????????????????????????????…

restful解決什么問題_當您陷入RESTful,WordPress和一個困難的地方時,如何解決CMS問題...

restful解決什么問題by Jessica Duffin Wolfe杰西卡達芬沃爾夫(Jessica Duffin Wolfe) 當您陷入RESTful,WordPress和一個困難的地方時,如何解決CMS問題 (How to solve a CMS problem when you’re caught between RESTful, WordPress, and a hard place…

InfluxDB的HTTP API寫入操作

一、說明 為了方便,本文主要使用curl來發起http請求,示例當中也是使用curl這個工具來模擬HTTP 請求。 在實際使用中,可以將請求寫入代碼中,通過其他編程語言來模擬HTTP請求。 二、InfluxDB通過HTTP API操作數據庫 1)建…

揭開勒索軟件的真面目

一、前言 2013年9月,戴爾公司的SecureWorks威脅應對部門(CTU)發現了一種名為“CryptoLocker”的勒索軟件,它以郵件附件形式分發,感染計算機并加密近百種格式文件(包括電子表格、數據庫、圖片等)…

leetcode486. 預測贏家(動態規劃)

給定一個表示分數的非負整數數組。 玩家1從數組任意一端拿取一個分數,隨后玩家2繼續從剩余數組任意一端拿取分數,然后玩家1拿,……。每次一個玩家只能拿取一個分數,分數被拿取之后不再可取。直到沒有剩余分數可取時游戲結束。最終…

w550官方例程_急!求索愛w550的刷機所需要的所有文件! 全部分送上!

展開全部W550c行貨軟件升級使用國內行貨W550c手機的朋友,將來是可以在62616964757a686964616fe58685e5aeb931333238646330官方網站使用隨機數據線免費升級的,目前W550c的最新版本是R4AB048但是由于目前官方網站還未提供,大家敬請期待。W550c索…

python的xpath用法介紹_python爬蟲之xpath的基本使用詳解

本篇文章主要介紹了python爬蟲之xpath的基本使用詳解,現在分享給大家,也給大家做個參考。一起過來看看吧一、簡介XPath 是一門在 XML 文檔中查找信息的語言。XPath 可用來在 XML 文檔中對元素和屬性進行遍歷。XPath 是 W3C XSLT 標準的主要元素&#xff…