exec sp_configure 'show advanced options',1
RECONFIGURE WITHOVERRIDEgo
exec sp_configure 'database mail xps',1
RECONFIGURE WITHOVERRIDEgo
--2.創建郵件帳戶信息
EXECmsdb..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 = NULL
GO
--3.數據庫配置文件
IF EXISTS(SELECTnameFROMmsdb..sysmail_profileWHERE name = N'ETLErrorProfileLog')BEGIN
EXEC msdb..Sysmail_delete_profile_sp @profile_name='ETLErrorProfileLog'
END
EXECmsdb..Sysmail_add_profile_sp@profile_name = 'ETLErrorProfileLog',--profile 名稱
@description = '數據庫郵件配置文件',--profile 描述
@profile_id = NULL
go
--4.用戶和郵件配置文件相關聯
EXECmsdb..Sysmail_add_profileaccount_sp@profile_name = 'ETLErrorProfileLog',--profile 名稱
@account_name = 'OCTMamiETL',--account 名稱
@sequence_number = 1 --account 在 profile 中順序--5.發送文本測試郵件
EXECmsdb..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=1
EXEC master.dbo.Sp_mssetalertinfo @pagersendsubjectonly = 0 --啟用警報系統 【在通知消息中包含電子郵件的正文】
EXECmaster.dbo.Xp_instance_regread
N'HKEY_LOCAL_MACHINE',--啟用警報系統 【啟用郵件配置文件】
N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
N'DatabaseMailProfile' ---郵件系統【選擇數據庫郵件】
EXECmaster.dbo.Xp_instance_regwrite
N'HKEY_LOCAL_MACHINE',
N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',
N'UseDatabaseMail',
N'REG_DWORD',1
EXECmaster.dbo.Xp_instance_regwrite
N'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 (SELECTnameFROMmsdb.dbo.sysoperatorsWHERE name = @Sys_OperatorsName)BEGIN
EXEC msdb..Sp_delete_operator @name = @Sys_OperatorsName --操作員
END
EXECmsdb.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 1
FROMmsdb.dbo.sysjobsWHERE name = 'dad')BEGIN
EXECmsdb.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;