不管羣集仍是非羣集SQL Server服務器,都是須要有如下基本組成部分才能提供數據服務:html
Figure 1.1 SQL Server羣集基本架構 數據庫
經過以上羣集服務器的改變,SQL Server服務故障轉移到另一個節點前首先中止失敗節點的SQL Server服務,共享存儲掛載到備節點,虛擬IP從新綁定到備節點的公共網卡接口,再啓動備節點的SQL Server服務,備節點的服務讀取共享存儲數據,從而業務恢復。客戶端只是經過虛擬名稱或虛擬IP訪問SQL Server服務,從而訪問數據庫資源。瀏覽器
Windows羣集方式有多種,在多種凡是的基礎上,SQL Server羣集實例安裝也有多種方式,不一樣業務可選擇不一樣方式安裝,在以安全和穩定的基礎上可儘可能的利用服務器資源。安全
在dos界面輸入cluster res 可查看Cluster羣集資源有哪些,以下圖所示爲Windows羣集的資源,哪些資源爲SQL Server羣集服務呢?服務器
存儲系統和用戶數據庫,數據庫錯誤日誌。tempdb可不存儲在共享存儲上,因爲重啓服務時,tempdb會重新生成。然而要求不一樣節點都擁有tempdb的存放路徑。以防止重啓出現路徑不存在異常。網絡
存儲一直都是計算機界的一個瓶頸,對IO讀寫要求高的數據庫此瓶頸尤其明顯,所以在訪問頻繁的數據庫建議使用Raid10以提升磁盤性能。架構
羣機組中有Windows羣集的虛擬網絡名稱和Ip,用於管理Windows羣集。日常狀況下,不論是心跳檢測仍是服務檢測,都是節點網絡之間通訊,不多涉及訪問域的狀況,但如果發生故障轉移,須要驗證各個羣集節點,涉及到域服務器。分佈式
SQL Server IP地址和網絡名稱,爲客戶端提供連接。網絡名稱名稱指向虛擬IP地址,SQL Server訪問網絡名稱。ide
SQL Server網絡名稱對於跨子網羣集一樣存在是否全部IP都註冊上線問題,經過測試肯定是不須要都註冊上線。須要將RegisterAllProvidersIP 設置爲0:cluster res "SQL Server羣集名稱" /priv RegisterAllProvidersIP=0post
SQL Server服務和其餘服務提供數據庫服務。
以上資源相互協做,經過羣集服務管理器管理彼此關係,從而提供服務。這些資源的依賴關係以下圖所示:
1.網絡名稱依賴於虛擬IP地址
對跨子網羣集,添加羣集節點的時候,存在跨子網訪問的狀況,次數虛擬網絡會在域中註冊兩個IP地址,這兩個IP的依賴關係爲OR,也就是隻能有一個在線。
2. SQL Server服務依賴於共享存儲與網絡名稱
只有共享存儲和網絡名稱同時在線的狀況下SQL Server服務才能啓動。
3. SQL Agent服務依賴於SQL Server 服務
SQL Server數據庫的核心組件,能夠作成羣集。在羣集中安裝SQL Server數據庫引擎,連帶安裝SQL Server複製分發,全文索引,數據質量分析。
從SQL Server 2005開始支持分析服務羣集;
若是單獨部署分析服務羣集,則很是簡單,不須要考慮太多;若是要和數據庫引擎服務一塊兒部署到同一個羣集上面,建議是將數據庫引擎服務和分析服務單獨安裝到各自的資源組裏面(這就須要各自資源組各自佔有本身的共享磁盤、名稱、IP地址資源)
若是將分析服務和數據庫引擎服務安裝在同一個資源組裏面,分析服務系統數據庫會和數據庫系統數據庫安裝在一塊兒,一旦放置系統數據庫的磁盤出現問題,分析服務也會受到影響。同時在須要升級數據庫引擎服務或者分析服務時候,二個服務也必須同時升級。
從SQL Server 2008開始,全文索引和SQL Server Broker服務已經集成到數據庫引擎服務裏面,因此在發生數據庫引擎服務故障轉移以後,兩者亦可正常工做。
報表和SSIS服務程序裏面暫不支持羣集API,沒法向數據庫引擎那樣作成羣集。可是也能夠經過創建通用羣集應用程序來將報表和SSIS作成羣集。不過由於兩者代碼裏面並不包含羣集API,因此某些功能可能在切換以後不正常。
羣集每一個節點上面都會安裝該服務,默認禁用。
羣集中每一個節點也會安裝該服務,該服務沒法羣集。