亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

6. SQL Server數據庫監控

2024-08-31 00:55:22
字體:
來源:轉載
供稿:網友
6. SQL Server數據庫監控 - 如何告警

常用的告警方式大致有:短信、郵件、應用程序 (beep提示,圖標提示,升窗提示等),可是不能一直坐在電腦前看著應用程序,或者用腳本部署監控,根本沒有程序界面,所以通常用短信、郵件兩種方式告警。

. 告警方式

1. 短信

用程序發短信的方式一般有這兩種:

(1) 硬件

需要1張SIM卡,1個SIM卡讀卡設備 (比如:短信貓),然后把設備連接到電腦,應用程序根據設備的軟件接口,傳參并發送短信。記得把SIM卡設備放在信號好,無干擾的地方;

如果有大量短信要發,1張SIM卡是不夠用的,而且發送過度頻繁,可能被運營商視為惡意短信,把SIM卡號加入黑名單,那么就需要多張SIM卡甚至多個讀卡設備。

顯示號碼為當前SIM卡號碼,大多供應商都支持DLL、HTTP等多種接口,當然也可以基于接口二次開發。

DLL接口方法參考:SmsManager.sendTextMessage(…)

(2) 第三方短信接口

有多種接口形式提供,比如:Web Service形式,HTTP形式,還有郵件接口:往1380013900@xxx.com發個短小的郵件,這個郵件會以短信的形式轉發到手機上,等等。只要往接口傳參數,告訴它發給誰,發什么內容,就可以了。

顯示號碼為某個SIM卡號碼,或者為固定號碼 (如:106開頭的),這取決于短信平臺和運營商的實現方式,因為運營商發短信是不要卡的,直接可以發給目標號碼,而且可以顯示為固定的某個號碼。

Web Service接口地址參考:http://123.456.789.000/SmsManager.asmx?wsdl

Http接口地址參考:http://api.abc.xyz/sms/send.html

2. 郵件

凡是實現了SMTP協議的組件,都可以發送郵件。

在Windows環境下,有系統自帶的組件CDO (Collaboration Data Objects,以前叫OLE Messaging 或者Active Messaging),是MAPI庫的COM封裝。不管是自己開發程序,使用VBS,還是SQL Server的SQL Mail/Database Mail,通常都是調用的這個組件。

SMTP協議要求的參數大致如下:

SMTP Hostname: SMTP服務器名,如mail.test.com或者IP

SMTP Port: SMTP服務端口,25

SMTP Username: 通過SMTP發送郵件用來驗證的用戶名, 如果不要求身份驗證,留空

SMTP PassWord: 通過SMTP發送郵件用來驗證的密碼, 如果不要求身份驗證,留空

. 選擇告警方式并配置

1. 短信

不管是選擇硬件,還是第三方接口,都需要一個程序來調用,可以是監控工具、腳本、甚至數據庫。

(1) 監控工具/應用程序中,通常都留有短信接口的配置,配置接口地址即可;

(2) 在腳本中配置,Windows環境通常要借助OLE Automation;

OLE Automation后來改名叫Automation,是Windows上基于COM,用于腳本語言實現進程間通訊的機制,腳本如:VBS, SQL, Powershell,不包括BAT(BAT可以調用VBS)。

SQL Server中使用OLE Automation調用Web Service短信接口如下:

exec sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation PRocedures', 1;RECONFIGURE;declare @text_message nvarchar(180)       ,@phone_number nvarchar(15)       ,@soap_object  int       ,@status       int       ,@output       nvarchar(255)set @text_message = N'Testing Mail'set @phone_number = N'138000139000'--Create MSSOAP.SoapClient objectexec @status=sp_OACreate 'MSSOAP.SoapClient', @soap_object out--SmsManager is Web Service nameexec @status = sp_OAMethod @object, 'mssoapinit', null, 'http://123.456.789.000/SmsManager.asmx?wsdl', 'SmsManager'--SendTextMessage is webservice methodexec @status = sp_OAMethod @object, 'SendTextMessage', @output OUT, @phone_number, @text_messageif @status <> 0begin   exec sp_OAGetErrorInfo @soap_object      select @soap_objectendelsebegin   select @outputend--Destroy MSSOAP.SoapClient objectexec @status = sp_OADestroy @soap_objectGO

對于HTTP, DLL接口,和SOAP接口類似,用OLE Automation也都可以調用,主要區別就是在CreateObject() 時。

以VBS為例,調用HTTP, DLL時CreateObject()如下:

Dim http Set http = CreateObject("Msxml2.xmlhttp") Dim dllSet dll = CreateObject("工程名.類名")

2. 郵件

(1) 監控工具/應用程序中,通常都留有SMTP配置項,配置SMTP參數即可;

(2) 在腳本中配置,Windows環境通常要借助OLE Automation;

VBS發送郵件如下:

Dim nsns = "http://schemas.microsoft.com/cdo/configuration/"Dim title, contenttitle = "db_maint_alert"content = ""content = content&"Hi All,"content = content&chr(13)&chr(10)content = content&" "content = content&chr(13)&chr(10)content = content&"----test mail----"Msgbox('~1~')Set cm = CreateObject("CDO.Message")cm.from = "from_user_name@abc.com"    cm.to = "to_user_name@abc.com"cm.cc = "cc_user_name@abc.com"cm.subject = titlecm.textbody = content'cm.AddAttachment ""Msgbox('~2~')'sendusing: 1 = pickup, 2 = port'smtpauthenticate: 0 = anonymous,1 = common,2 = NTLM'smtpusessl: 0 = no,1 = yesWith cm.configuration.fields    .item(ns & "sendusing") = 2    .item(ns & "smtpserver") = "xxx.xxx.xxx.xxx"    .item(ns & "smtpserverport") = 25    .item(ns & "smtpauthenticate") = 1    .item(ns & "sendusername") = "user_name@abc.com"    .item(ns & "sendpassword") = "*****************"    .item(ns & "smtpconnectiontimeout") = 10    .item(ns & "smtpusessl") = 0    .updateEnd WithMsgbox('~3~')cm.sendSet cm = nothingMsgbox('~success~')

SQL Server 2000發送郵件如下:

SQL Server 2000有SQL Mail,不過必須要同服務器上安裝一個實現了MAPI的郵件程序,如:Outlook,因為SQL Mail需要借用郵件應用程序的MAPI來發送郵件,配置起來不太方便,所以使用類似上面VBS的OLE Automation方法。

use master;if OBJECT_ID('sp_SendDatabaseMail') is not null     drop proc sp_SendDatabaseMailgoCREATE PROCEDURE sp_SendDatabaseMail        @recipients varchar(8000), --'001@abc.com; 002@abc.com;'        @Subject    varchar(400) = '',        @HtmlBody   varchar(8000) = ''asDeclare @From varchar(100)Declare @To varchar(100)Declare @Bcc varchar(500)Declare @AddAttachment varchar(100)Declare @object intDeclare @hr intDeclare @source varchar(255) Declare @description varchar(500) Declare @output varchar(1000)    set @From = 'SqlAlert@abc.com'    set @To = @recipients    set @Bcc = ''    set @AddAttachment = ''    --set @HtmlBody= '<body><h1><font color=Red>' +@HtmlBody+'</font></h1></body>'    EXEC @hr = sp_OACreate 'CDO.Message', @object OUT    EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','2'     EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value', 'xxx.xxx.xxx.xxx'     EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value','25'     EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value','1'     EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusername").Value','user_name@abc.com'     EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value','*****************'     EXEC @hr = sp_OAMethod @object, 'Configuration.Fields.Update', null     EXEC @hr = sp_OASetProperty @object, 'To', @To     EXEC @hr = sp_OASetProperty @object, 'Bcc', @Bcc     EXEC @hr = sp_OASetProperty @object, 'From', @From     EXEC @hr = sp_OASetProperty @object, 'Subject', @Subject     EXEC @hr = sp_OASetProperty @object, 'HtmlBody', @HtmlBody --add attachment    if @AddAttachment<>''    EXEC @hr = sp_OAMethod @object, 'AddAttachment',NULL,@AddAttachment    IF @hr <>0     select @hr         BEGIN             EXEC @hr = sp_OAGetErrorInfo NULL, @source OUT, @description OUT             IF @hr = 0                 BEGIN                     SELECT @output = ' Source: ' + @source                     PRINT @output                     SELECT @output = ' Description: ' + @description                     PRINT @output                 END             ELSE                 BEGIN                     PRINT ' sp_OAGetErrorInfo failed.'                     RETURN                 END         END --send mailEXEC @hr = sp_OAMethod @object, 'Send', NULL IF @hr <>0     select @hr         BEGIN             EXEC @hr = sp_OAGetErrorInfo NULL, @source OUT, @description OUT             IF @hr = 0                 BEGIN                     SELECT @output = ' Source: ' + @source                     PRINT @output                     SELECT @output = ' Description: ' + @description                     PRINT @output                 END             ELSE                 BEGIN                     PRINT ' sp_OAGetErrorInfo failed.'                     RETURN                 END endPRINT 'Send Success!!!' --destroy objectEXEC @hr = sp_OADestroy @object

調用上面這個SP來發郵件:

EXEC sp_SendDatabaseMail         @recipients = '001@test.com; 002@test.com;',         @body = 'This is a testing mail',        @HtmlBody = 'Testing Database Mail'

SQL Server 2005起,使用Database Mail,腳本如下:

--1. 啟用database mailuse masterGOexec sp_configure 'show advanced opt
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久亚洲精品一区二区| 久久天天躁日日躁| 国产黑人绿帽在线第一区| 精品国产拍在线观看| 欧美有码在线观看| 欧美成人免费视频| 色综合老司机第九色激情| 亚洲视频一区二区三区| 中文字幕日韩在线视频| 日韩电视剧在线观看免费网站| 97免费在线视频| 97在线看福利| 亚洲综合日韩中文字幕v在线| 久久久久久久999| 亚洲韩国欧洲国产日产av| 国产成人中文字幕| 亚洲电影免费观看高清| 国自在线精品视频| 欧美日韩色婷婷| 国产a级全部精品| 国产剧情久久久久久| 国产a∨精品一区二区三区不卡| 国产午夜精品视频| 青青在线视频一区二区三区| 欧美精品福利在线| 人人做人人澡人人爽欧美| 日韩女优人人人人射在线视频| 亚洲精品久久久久中文字幕欢迎你| 亚洲精选一区二区| 欧美日本啪啪无遮挡网站| 狠狠综合久久av一区二区小说| 国产91网红主播在线观看| 成人av在线天堂| 精品久久久久久中文字幕大豆网| 亚洲第一av网站| 亚洲乱码av中文一区二区| 日韩美女av在线| 国产精品免费视频久久久| 国产伊人精品在线| 国产不卡在线观看| 国产精品18久久久久久麻辣| 最新国产成人av网站网址麻豆| 中文字幕精品—区二区| 精品久久香蕉国产线看观看gif| 自拍偷拍亚洲一区| 国产99在线|中文| 久久综合久中文字幕青草| 国产精品69精品一区二区三区| 欧美裸体xxxx极品少妇软件| 91国产视频在线播放| 最近更新的2019中文字幕| 日韩在线观看免费全| 亚洲第一国产精品| 久久久久久国产精品美女| 欧美日韩国产精品| 北条麻妃在线一区二区| 欧美性xxxxxx| 午夜剧场成人观在线视频免费观看| 中文字幕日本精品| 日韩一区视频在线| 成人性教育视频在线观看| 国产精品成人一区二区| 欧美另类精品xxxx孕妇| 91免费视频网站| 久久夜色精品亚洲噜噜国产mv| 亚洲欧美制服中文字幕| 精品国产乱码久久久久久天美| 日韩欧美国产成人| 欧美综合一区第一页| 国产免费一区二区三区在线观看| 日韩小视频在线观看| 97精品视频在线| 欧美疯狂做受xxxx高潮| 欧美一区二区三区精品电影| 亚洲高清av在线| 高清亚洲成在人网站天堂| 国产成人精品日本亚洲| 国产精品久久久久国产a级| 久久免费观看视频| 久久人人爽国产| 精品国内产的精品视频在线观看| 久久最新资源网| 555www成人网| 国产成人精品一区二区在线| 亚洲天堂成人在线| 国产精品一区av| 2018国产精品视频| 欧美性受xxx| 日本欧美爱爱爱| 日韩成人免费视频| 欧美成人免费一级人片100| 亚洲在线免费观看| 自拍偷拍亚洲区| 91精品国产91久久久久久| 第一福利永久视频精品| 欧美激情xxxxx| 国产精品美女主播| 色综合视频一区中文字幕| 久久久久99精品久久久久| 68精品国产免费久久久久久婷婷| 亚洲男人天堂九九视频| 亚洲一区999| 亚洲欧美日韩一区二区在线| 国产精品∨欧美精品v日韩精品| 精品一区二区三区电影| 久热精品视频在线观看| 日韩综合视频在线观看| 日韩中文字幕网| 成人在线精品视频| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产女精品视频网站免费| 亚洲欧美综合图区| 欧美国产在线电影| 欧美国产日本高清在线| 亚洲日本中文字幕| 亚洲国产日韩欧美在线图片| 亚洲人午夜色婷婷| 国模精品视频一区二区| 久久久免费精品| 91青草视频久久| 一本一本久久a久久精品综合小说| 久久视频免费在线播放| 91精品久久久久久久久久久| 亚洲第一国产精品| 成人午夜两性视频| 国产精品pans私拍| 国产精品午夜一区二区欲梦| 日韩亚洲第一页| 欧美大片免费观看在线观看网站推荐| 一本色道久久综合亚洲精品小说| 日韩a**站在线观看| 中文字幕久久精品| 日韩欧美在线视频| 欧美性xxxx| 国产91露脸中文字幕在线| 成人免费自拍视频| 91深夜福利视频| 91精品国产自产在线观看永久| 国产精品成人一区二区三区吃奶| 日韩欧美一区二区三区| 在线成人免费网站| 亚洲国产精彩中文乱码av在线播放| 亚洲一区第一页| 伊人久久精品视频| xxx欧美精品| 另类美女黄大片| 亚洲毛片在线免费观看| 中文字幕精品国产| 亚洲欧美国产日韩中文字幕| 欧美精品福利视频| 91精品久久久久久久| 欧美中文字幕精品| 亚洲成人精品久久| 欧美性生交大片免网| 在线视频国产日韩| 亚洲理论片在线观看| 日韩在线国产精品| 4388成人网| 欧美性xxxx在线播放| 欧美激情videoshd| 欧美在线视频观看免费网站| 欧美视频在线观看 亚洲欧| 日韩精品福利在线| 日韩中文字幕av|