SQL Server代理(1212):多服務器管理 -开发者知识库

SQL Server代理(1212):多服務器管理 -开发者知识库,第1张

SQL Server代理是所有實時數據庫的核心。代理有很多不明顯的用法,因此系統的知識,對於開發人員還是DBA都是有用的。這系列文章會通俗介紹它的很多用法。


在這一系列的上一篇,我們查看了維護計划,一個維護計划可能會創建多個作業,多個計划。你還簡單地看了SSIS子系統,並查看了維護計划作業步驟的 屬性。在最后一篇,你將學習MSX/TSX,SQL Server代理服務器管理。MSX/TSX允許你在多個系統上運行作業,然后將作業結果和歷史記錄保存到一個SQL Server實例上。

使用MSX/TSX多服務器管理——概念

多服務器管理功能,也被稱為MSX/TSX特征(即主/目標服務器)已經提供了好幾個版本的SQL Server。MSX/TSX提供在主服務器上定義SQL Server代理作業,然后作業運行在一個或多個目標服務器。這些目標服務器還可以發送事件到主服務器,這樣你就可以在單一的視圖中查看多服務器的SQL Server代理事件。
為了正確地理解MSX/TSX環境,你需要先了解一些術語和概念。包括:

  • 主服務器(MSX)

主服務器(MSX)是主機服務器,作業、作業步驟、計划調度都是在其上面創建。此外,作業的結果將從目標服務器的傳送到主服務器。你可以在主服務器上查看所有作業的結果。

  • 目標服務器(TSX)

目標服務器(TSX)由一個或多個服務器配置為接受來自主服務器的作業,並報告作業跑回到主服務器(MSX)的結果。目標服務器會偶爾連接到MSX服務器下載作業,和更新作業。

  • 輪詢間隔

在輪詢間隔時目標服務器才連接到主服務器下載/更新。默認情況下,輪詢間隔是一分鍾。你可以改變這個間隔,基於網絡負載或你需要更多或更少同步頻率。

注意:在SQL Server 2008中,介紹了一種新的基於策略的管理。它的特征與MSX/TSX完全無關。
SQL Server版本之間兼容性是MSX/TSX配置中的一個關鍵問題。只要你的服務器都是SQL Server 2008,那么你不需要關心這個。然而,如果你像大多數人一樣,有一個混合的環境,你應該仔細查看MSDN的兼容性圖表關於主服務器和目標服務器之間的兼容性。在某些情況下它甚至取決於下層服務器服務包級別。在在線幫助里可以了解更多:https://msdn.microsoft.com/zh-cn/library/ms191305.aspx

安裝程序和安全注意事項

一個MSX/TSX的環境下取得成功,一些安全方面的考慮必須解決。對於SQL Server代理服務帳戶安全的考慮,並有加密考慮MSX和TSX服務器之間的通信。

服務帳戶選擇

經常使用的默認服務帳戶,如網絡服務(Network Service),可能不適合你的MSX/TSX環境。因為你需要SQL Server代理服務與其他服務器和/或實例進行通信,你需要一個可以在網絡上通信正常的帳戶。本地服務帳戶不能使用,因為你連接到遠程服務器會有困難。域用戶帳戶,或機器帳戶,是更好的選擇。在所有的情況下,它不要求服務帳戶是服務器上的Windows管理員被用於在MSX/TSX環境。

加密選項

如果你想禁用服務器之間的通信加密,你可以編輯SQL Server實例上的注冊表。這是不推薦的,但是如果你必須這樣做,請參考文檔,並仔細考慮你在做什么。只有在一個很古老的MSX/TSX服務器環境才會考慮,如SQL Server 2000系統。
請注意,如果你想在家用系統配置這個,或系統沒有安全證書,你將需要設置注冊表禁用加密否則MSX/TSX設置肯定會失敗。

設置MSX/TSX

對於這一步的目的,演示環境是同一台機器上有三個數據庫實例。提前在SSMS中將這三個實例注冊到資源管理器。默認實例將設置為主服務器,另外兩個實例將這里命名為Target1和Target2。
建立MSX/TSX的最簡單的方法是使用主服務器向導。右鍵單擊您的SQL Server代理節點,選擇多服務器管理->將其設置為主服務器...(如插圖1所示)

SQL Server代理(1212):多服務器管理 -开发者知识库,第2张
插圖1 啟動主服務器向導
這將啟動主服務器向導,你會看到歡迎畫面,如插圖2所示。單擊“下一步”,呈現主服務器操作員界面,如圖插圖3所示。輸入相應的聯系信息,然后單擊“下一步”。

SQL Server代理(1212):多服務器管理 -开发者知识库,第3张
插圖2 主服務器向導歡迎頁面

SQL Server代理(1212):多服務器管理 -开发者知识库,第4张
插圖3 主服務器操作員
單擊“下一步”,會出現目標服務器”對話框(插圖4)。你可能需要在這個對話框中注冊你的連接,所以點擊添加連接……並添加適當的連接。對於這一步的目的,你會使用本地實例Target1和Target1。你可以隨時返回,添加或刪除服務器或實例。
再次單擊“下一步”,和你選擇的目標服務器的連接進行驗證,如插圖5所示。單擊“關閉”,你會被要求到指定的登錄憑據。如果可能的話,接受默認設置,使用服務帳戶與Windows身份驗證的連接,如插圖6所示。如果你已經創建服務帳戶的登錄,你不需要向導為你創建登錄。

SQL Server代理(1212):多服務器管理 -开发者知识库,第5张
插圖4 設置目標服務器

SQL Server代理(1212):多服務器管理 -开发者知识库,第6张
插圖5 設置目標服務器驗證

SQL Server代理(1212):多服務器管理 -开发者知识库,第7张
插圖6 主服務器登錄憑據
點擊下一步,完成,你應該看到類似插圖7的向導完成后,你的默認實例為主服務器,另外兩個實例作為目標服務器。你可能會得到與登錄創建錯誤,如圖插圖7所示。如果發生這種情況,只要登記進程成功你就可以忽略錯誤。錯誤可能僅僅意味着服務帳戶已配置。

SQL Server代理(1212):多服務器管理 -开发者知识库,第8张
插圖7 完成向導
如果你現在刷新你的SQL Server代理節點,你會注意到,它顯示每個節點的MSX/TSX的角色,如插圖8所示。

SQL Server代理(1212):多服務器管理 -开发者知识库,第9张
插圖8 配置好MSX/TSX后的SSMS

創建一個MSX/TSX作業

現在你已經配置完環境,是時候來創建一個主作業,將運行在所有的服務器上,並報告狀態給你的主服務器。主服務器上創建一個新的作業,只有簡單步驟(T-SQL類型select * from sys.all_objects)。點擊目標選項卡(插圖9所示),並選擇兩個目標服務器。單擊“確定”,作業在主服務器上創建完成。SQL Server代理(1212):多服務器管理 -开发者知识库,第10张
插圖9 讓作業運行於目標服務器
等待至少一分鍾,因為作業復制到目標服務器有輪詢間隔的,然后刷新你的SQL Server代理作業節點,你會看到類似插圖10。注意,在主服務器上,你現在有個多服務器作業文件夾;目標服務器上會正常顯示作業。

SQL Server代理(1212):多服務器管理 -开发者知识库,第11张
插圖10 主服務器上的作業復制到目標服務器
現在,在你的TSX服務器運行作業。等待一分鍾左右,然后回到你的主服務器,右擊MSXTest作業,選擇查看歷史記錄。現在你會注意到從每個TSX服務器的歷史反饋回來(注意在日志文件查看器中的Server列),如插圖11所示。

SQL Server代理(1212):多服務器管理 -开发者知识库,第12张
插圖11 主服務器上查看作業歷史記錄

事件轉發

你也可以配置SQL Server錯誤事件轉發到中心服務器,比如你的MSX服務器。這將產生額外的網絡流量,但你可以在中心服務器上查看所有TSX服務器相關的事件。右鍵單擊SQL Server代理節點,選擇屬性,然后在高級選項卡。你可以選擇“將事件轉發到其他服務器”,輸入服務器名稱,然后配置要轉發的事件。例如,插圖12顯示了一個配置,只將未處理的系統事件(嚴重性為17或更高)轉發到MSX服務器。

SQL Server代理(1212):多服務器管理 -开发者知识库,第13张
插圖12 配置事件轉發

小結

這一篇涉及SQL Server代理多服務器管理功能,MSX/TSX。你可以使用一個MSX/TSX環境集中管理作業,以及集中的事件報告。使用此功能,減少你必須連接到監視系統狀態的服務器的數量。
謝謝你抽出時間來閱讀SQL Server代理系列文章!

原文鏈接:http://www.sqlservercentral.com/articles/Stairway Series/72463/

參考文章:http://www.cnblogs.com/Uest/p/4634343.html

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复