2012年11月8日 星期四

自動化管理 - 透過警示功能進行監控

        前面的文面已有介紹過多種進行SQL Server資料庫監控的方式,也有介紹到如何透過效能監視器進行監控,但這些都是屬於被動的方式進行,如果希望透過主動的方式,如當CPU、Memory、Disk等物件超過門檻值時,可以主動的通知管理者,如此一來就不用由管理者持續的監控資料庫也可以確認正常的運作,所以本章,我就來介紹如何透過SQL Server的警示功能來達到上述的需求。

1、郵件主機設定

如果你已有內部的專用郵件主機(Mail Server)的話,可以直接跳過本步驟。

1-1 選取功能 [SMTP 伺服器]

1-2 安裝完成後,請開啟 [Internet Information Services 6.0 Manager],然後點選 [SMTP Virtual Server #1] -> 內容。

1-3 選擇 [存取] -> [轉送]

1-4 選擇 [僅限下列清單],此時請將目前此台主機的IP加入後,即可完成設定。

2、設定Database Mail

2-1 點選 [Database Mail] -> [設定Database Mail]

2-2 選擇 [執行下列工作以設定Database Mail]

2-3 設定檔名稱輸入後,請輸入 [加入]。

2-4 在下列位置上輸入你的Mail與郵件主機的資訊。

2-5設定完成後,請點選 [傳送測試電子郵件],藉以確認Database Mail設定正確。

3、設定警示功能

3-1 請確認SQL Server Agent為啟動中。
3-2 點選 [SQL Server Agent] -> [屬性]

3-3 點選 [警示系統] ,勾選 [啟用郵件設定檔] 後,在郵件系統選擇[Database Mail],而在郵件設定檔,請選擇在第二個步驟中新增的設定檔 [profile_cary]。

3-4 點選 [警示] -> [新增警示]。

3-5 在下列選擇類型中主要有分成三類,分別為[SQL Server 事件警示]、[SQL Server 效能條件警示] 與 [WMI 事件警示],此處我們以 [SQL Server 效能條件警示] 為主,選擇後即可將在 [效能監視器] 中以SQLServer開頭的物件加入,此處我們以 [Data Files(s) Size (KB)]為例,當資料庫的大小超過1024KB時,就寄出Mail進行通知。

3-6 點選到 [回應],然後勾選 [通知操作員],選擇通知那些操作員,並勾選 [電子郵件]。

3-7 點選到 [選項],然後請勾選 [電子郵件]

4、測試與確認收件格式

4-1 如果你安裝 的版本為SQL Server 2012 RTM (11.0.2100.60)時,你在收到郵件時會遇到下列的問題,這個已確認為產品問題,再請安裝下列的Fix,或是安裝SQL Server CU3進行即可。


個別修正:
FIX: Incomplete Performance Condition alert in SQL Server 2012

累計更新:
Cumulative update package 3 for SQL Server 2012


4-2 正確的郵件格式

本章的功能可以大大的減輕DBA管理員的負擔,可以在同時管理多台主機的情況下,又可以兼固第一時間知道系統的異常,所以大家一定要多多的利用。

關鍵字:SQL Server、SQL Server Alert、警示、SQL Server Agent、資料庫警示、自我警示

2012年10月28日 星期日

如何在叢集上更換SQL Server的磁碟

        當有需要進行叢集(Cluster)上的磁碟更換時,其實是SQL Server的部份,其實有一定的步驟,手萬不要只用更換路徑或更改登錄檔的方式進行,因為這個方式你一定會遇到很多問題而且最後可能還是會有問題,由於近期內接到滿多使用者問到這個部份,所以我將方式整理如下,希望可以幫助大家在更換磁碟上減少問題。

Ex:
Disk group 1 (Old):
Disk T
Disk group 2 (New):
Disk S

設定方式:
 1、請您先將新磁碟上線。

2、開啟容錯移轉叢集管理員 -> 服務與應用程式,先將SQL Server的群組先行設定成 offline. 3、在SQL Server dependency list中,移除舊資料機的相依性

4、因為要將原本磁碟機上的資料拷貝到另外一顆新的磁碟機上,所以需先將原磁碟機重新上線才可以。


5、將SQL Server磁碟上的資料夾透過XCOPY的方式複制到新的磁碟上。

---Use the Xcopy command with the /O/X/E/H/K  to copy the files from Disk S to Disk R.

操作指令:
xopy /O/X/E/H/K S: T:


PS:請千萬注意,不要使檔案總管拖拉或複製貼上的方式,因為如此一來,可能檔案複製後,可能會有權限繼承的問題,所以請使用上述的方式。

6、確認新的磁碟上的資料夾權限與舊的磁碟上的權限設定是否相同。
7、在叢集管理員的介面上將舊的磁碟機代號換成其他的磁碟機


PS:如果無法進行更換時,代表您可能有其他的節點沒有正常上線,再請確認叢集中的所有節點都已正常的上線。

錯誤訊息:
無法取得可用的磁碟機代號
無法取得所有可用的磁碟機代號,因為此叢集的部份節點已經關閉。




8、將新的磁碟機換成原磁碟機的代號。

9、將新的磁碟機加入SQL Server的群組中。


10、將舊的磁碟機從SQL Server的群組中移除。。


11、將新的磁碟機加入SQL Server服務的相依性中。


12、將SQL Server設定成online,並確認是否有誤。

成功上線後,也請同時手動測試Failover是否可以成功。


關鍵字:SQL Server、

2012年10月20日 星期六

如何啟用與設定資料收集器(Data Collection)

        SQL Server的管理上,通常會遇到許多不同的問題,而這些問題,其實有時候很難一看到情況就知道問題為何與該如何處理,所以通常客戶遇到問題時,通常就會請客戶先進行檔案與相關資訊的收集。

         在以往我們可以透過SQL Profiler進行SQL Server上所有活動的收集,但有些問題畢竟關係到OS的層級,如CPU、Memory、Disk等的使用情況,所以也會搭配透過系統中的效能監視器(Performance Monitor)來進行。

         但如果你管理的SQL Server越來越多的時候,都需要每一台都設定效能監視器,在SQL Server 2008以後,推出了資料收集器(Data Collection)的功能,透過這個功能,可以同時收集不同台的SQL Server上的資訊到同一台Database上,所以此功能對許多DBA來說,可以算是一大福音,但其中有一個較大的限制,那就是你需要收集的資料庫必須是SQL 2008(含)以上的版本才可以,雖然我們的客戶中還是有許多仍在使用SQL 2000,但我想這個影響對許多公司來說,應該會越來越低。


Data Collection架構圖

系統架構



執行流程

系統環境:
Windows 2008 R2 SP1
SQL Server 2008 R2 SP1

設定流程:

1、設定資料倉儲(Data Warehouse)
1-1 開啟SQL Server Management Studio
1-2 點選 Management -> Data Collection -> Configure Management Data Warehouse


1-3 資料倉儲精靈畫面

1-4 選擇 [Create or update a management data warehouse]

1-5 選擇資料庫名稱,也可以點選 [New] 新增一個資料庫。


注意事項:
The Performance Data Collector is fully supported by the Enterprise and Standard editions of SQL Server 2008. Out of the box, it only works only on SQL Server 2008 instances, and is not backwards compatible with previous versions of SQL Server.


1-6 選擇 Login 與 Users 的對應,此步驟可以直接跳過即可。


1-7 設定儲存位置確認。

1-8 設定完成。

2、設定與啟用資料收集(Data Collection)
2-1 選擇 [Management] -> [Data Collection] -> [Configure Management Data Warehouse]

2-2 選擇 [Set up data collection]

2-3 設定儲存位置。
注意事項:
a. 此儲存位置只能選擇SQL Server版本為2008(含)以上才可以。
b. 快取的位置可以不用設定,如果維特空白時,會以系統的temp目錄為cache目錄。

2-4 資料倉儲設定完成。


3、啟用資料收集與報表預覽
3-1 展開 [Management] -> [Data Collection] 此時你就會看到已有三個資料收集設定完成。

3-2 此時我們立刻透過介面中的 [Collect and Upload Now] 將資料上傳與更新。


3-3 選擇 [Data Collection] -> [Reports] -> [Management Data Warehouse] -> [Server Activity History]

3-4 此時你就可以看到透過此主機上在統計區間內的相關統計資訊,當然也有其他兩種報表可以參考。



透過資料收集器 (Data Collection),可以快速的進行SQL Server的資料收集,當然更方便的事,你可以透過這個功能快速的產生相關的報表,相信這個功能可以讓許多DBA在管理上更簡單。

參考連結:
Introducing the Data Collector
http://msdn.microsoft.com/en-us/library/bb677248.aspx
Data Collector Architecture and Processing
http://msdn.microsoft.com/en-us/library/bb677355.aspx

關鍵字:SQL Server、Data Collection、Data Collector、資料收集器、Management Data warehouse