深入SQL Server 2016高可用
-
【作 者】[美]Paul Bertucci 著
【I S B N 】978-7-5170-6723-8
【責任編輯】周春元
【適用讀者群】科技
【出版時間】2018-08-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】352
【千字數】455
【印 張】22
【定 價】¥68
【叢 書】暫無分類
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
“永遠在線,永遠可用”對于任何一個現代化公司來說,這不僅是一個業務目標,更是競爭需求。
本書重點講述了SQL Server 2016 的高可用特性及企業實戰技術。通過學習并掌握這些技術,讀者能夠親自打造一個高可用性系統。主要內容包括微軟SQL Server 集群、SQL 數據復制、日志遷移、數據庫鏡像/ 快照、持續可用性組以及基于Azure 的大數據和AzureSQL 內置架構等。本書還提供了一組反映企業真實的高可用性需求的業務場景,引領讀者學習高可用性的設計過程,并講解如何選擇最合適的高可用性選項、方法及策略,從而使讀者學會用特定的技術方案來實現業務場景的高可用性需求。本書業務場景的引入及實現源自真實的客戶案例,便于讀者理解真實業務場景的高可用性情況。
本書適合系統設計師、系統架構師、系統管理員、數據構架師、DBA、SQL 開發人員及一些管理崗位人員(如CIO、CTO 等)學習參考,也適合大學數據庫相關專業的師生作為參考用書。
本書提供了全程的SQL Server高可用性解決方案,以及日益增長的大數據解決方案,這些方案涵蓋了基于本地部署數據庫、云部署數據庫及復合部署數據庫。
本書詳細講解了易學易用的、正式的高可用技術,這些技術已經過多年錘煉,可以幫助讀者根據需求確定正確的高可用性解決方案。當然本書還涵蓋了災難備份及業務持續性的技術性架構及思想。
本書還提供了Step-by-Step式的案例操作以及案例代碼,用以幫助讀者建立及管理這些高可用性方案。所有案例都基于世界500強企業已經部署的產品 。
盡管本書適用于從初級到高級的SQL Server及大數據專業人員,但本書前幾章非常適合CIO、CTO甚至懂技術的CFO來閱讀及提升。
“永遠在線,永遠可用。”對于任何一個希望在云計算領域具有競爭力的公司來說,這不僅是一個業務目標,更是競爭需求。部署在正確架構之上的高可用性技術,能夠不間斷地為客戶提供價值。
—Jeff Brzycki,Autodesk 首席信息官,2017 年3 月
99.999%
宕機(系統服務不可用)帶來的損失簡單而直接,如帶來直接的利潤損失、部署能力的損失、客戶體驗的損失等。如果您的應用經常宕機或者存在較大的宕機風險,那么本書非常適合您。如果您的業務需要通過“高可用”或“持續可用”來保證公司利潤、部署能力、客戶體驗不受損失,那么本書也非常適合您。
幫助您理解高可用性(HA)解決方案、選擇高可用性方法,從而達到利益最大化、成本最小化是本書的核心目標。本書為您提供了高可用解決方案設計與實施的路徑。一個好消息是,一般的軟硬件提供商,特別是微軟公司,在產品的可用性方面已經進行了長期的探索,并向著99.999%(簡稱5 個9)的可用性目標努力前進。一個期望達到5 個9 可用性的24×7 的應用,一年的總宕機時間不過5.26 分鐘,所以,如何設計出如此高的可用性是一項非常艱巨的挑戰。
本書甚至涉及了一些關于“100% 可用性”的選項。這些技術伴隨著高可用性解決方案的正式方法論,將使您能夠用最少的開發及平臺成本,讓系統從設計、安裝到維護獲得最高的可用性。
滿足需求的合適的高可用方法、高可用解決方案的投資回報率(Return onInvestment,RIO)是搭建高可用環境的兩個核心因素,對這兩個因素的理解與把握能力決定了公司的成功或失敗。一個公司的核心應用可能需要某種類型的高可用性解決方案。比如,對于一個全球在線定貨系統,較長時間宕機不但會造成利潤損失,還會影響客戶對該公司的口碑,這個賭注就太大了。
本書講述了如何為新的應用程序進行高可用性設計,以及如何更新當前的應用以提高可用性。在所有案例中,一個關鍵的考慮是業務驅動,即業務對應用的可用性需求的影響,以及在任何時期內如果該應用不具備這種可用性所帶來的生產成本及客戶口碑成本。
本書著重講述了最新的 Microsoft SQL Server 產品的高可用性能力及選項,這些能力將使您能夠打造一個高可用性系統,其中包含微軟集群服務、SQL Server 2016 的SQL 集群、SQL 數據復制、日志傳輸、數據庫鏡像/ 快照、保持可用性組以及基于Azure 的大數據和Azure SQL 內置架構。
最重要的是,本書提供了一組反映企業真實的高可用性需求的商業場景。通過這些特定的商業場景,使您學會高可用性的設計過程,并告訴您如何選擇最合適的高可用性方法,從而學會用特定的技術方案來實現商業場景需求的途徑。
與一本技術手冊相比,也許您感覺本書更像一本菜譜或谷歌地圖中的路線建議,而這正是我們所要達到的效果。一方面,本書對技術語法進行了講解,但本書更多地聚焦于解釋你為什么要選擇某個特定方法來滿足特定商業或應用需求。本書商業場景的引入及實現源自真實的客戶實現,當然鑒于保密因素,本書并沒有透露這些客戶的具體名稱。這些商業場景可用于糾正在面臨這些商業場景時的高可用性情況。本書還包含一些使用了微軟提供的聲名不佳的AdventureWorks 數據庫的案例,使用AdventureWorks 可以讓您快速而方便地重現一些解決方案。
可以在本書的網站鏈接獲得啟動您的下一個高可用性實現的工具、腳本、文檔、索引,網址是www.informit.com/title/9780672337765。
本書適用人群
本書適合系統設計師,系統架構師,系統管理員,數據構架師,DBA、SQL 開發人員,以及一些管理崗位人員(如CIO、CTO 等)學習參考。此外,由于很多問題及影響會導致利潤、產品及客戶美譽度的損失,所以本書也會對關心判斷、選擇及投資回報率的CFO 有所幫助。一個積極的、深刻理解高可用性的好外、復雜性、能力的CFO,將更容易地了解公司是否很好地處于優秀高可用性技術的保護之下。
本書的組織結構
本書分為以下三個部分:
第一部分,理解高可用性。第1 章、第2 章主要闡明高可用性的定義、介紹常見的高可用性商業場景,并介紹了微軟產品家族中與高可用性有直接關系的不同的軟硬件選擇。
第二部分,選擇正確的高可用性方法。第3 章明確定義了一個正式的設計方法,用于在各種商業場景下實現高可用性。
第三部分,實現高可用。第4 章~第17 章講述了每種高可用方案的架構、設計、實現步驟及所需技術。每一個業務場景都達到了完全的高可用性實現。最后是一個對全書涉及的所有方法的總結,同時對高可用性的未來發展進行了展望。
鑒于越來越多的企業或組織涉足大數據業務,所以本書也討論了關于大數據業務的高可用性。
本書關于高可用性方法的講解一應俱全。對于給定的業務和服務,從業務需求開始到高可用性實現的結束,相信本書必將帶給您足夠清晰的理解與認知。
本書的約定慣例
本書中,命令與存儲過程的名稱一律以等寬字體呈現。對于關鍵字及對象的名稱,我們盡量保持了大小寫的一致性,但由于SQL Server 默認安裝的情況下并不區分關鍵字與對象名稱的大小寫,所以例子中的關鍵字或對象名稱的大小寫并不一定完全一致。
本書的“提示”涵蓋了與討論主題相關的設計與架構思想,表示對所討論的觀點的補充或對設計向導的幫助。例如,對于一個數據庫的不同數據存取類型,什么樣的磁盤陣列級別是合適的,就會通過“提示”來提供一些額外視角,這些提示可能會高于或超出對磁盤陣列的普通解釋,但在創建SQL Server 數據庫時,能夠考慮到這些問題是非常有益的。
設定目標
與大家接觸過的很多其他系統一樣,根據用戶(業務)對系統可用性需求的期望,建立起需求文檔是非常重要的。對于渴望高可用性的系統來說,這些高可用性需求必須十分精確。創建高可用系統的風險非常高,本書所講的具有良好理論基礎的、經過時間檢驗的方法論,很好地平衡了成本與收益,并且減少了高可用性技術選擇的隨意性。對現有或未來的應用的高可用性需求來說,我們還有很多事情要做。本書簡單而直接地向您展示了如何理解、進行成本調整、達到這些高可用性目標以及將宕機時間控制在最小的程度。另外,本書還是Sams 出版公司出版的Microsoft SQL Server2014 Unleashed 的絕佳姊妹篇。
第1章 理解高可用性 1
1.1 高可用性概述 1
1.2 可用性計算 5
1.2.1 可用性計算示例:一個24×7×365的應用 5
1.2.2 連續可用性 7
1.3 可用性變量 9
1.4 實現高可用性的一般設計方法 11
1.5 內置高可用性的開發方法 12
1.5.1 評估現有應用 14
1.5.2 什么是服務水平協議? 15
1.6 高可用性業務場景 15
1.6.1 應用服務供應商 16
1.6.2 全球銷售和市場品牌推廣 16
1.6.3 投資組合管理 17
1.6.4 挖掘前確認的呼叫中心 17
1.7 提供高可用性的微軟技術 18
1.8 小結 19
第2章 微軟高可用性選項 21
2.1 高可用性入門 21
2.1.1 創建容錯磁盤:RAID和鏡像 23
2.1.2 利用RAID提高系統可用性 24
2.1.3 通過分散服務器來降低風險的實例 29
2.2 構建高可用性解決方案的微軟選項 30
2.2.1 Windows服務器故障轉移集群 31
2.2.2 SQL集群 32
2.2.3 AlwaysOn可用性組 34
2.2.4 數據復制 35
2.2.5 日志傳送 36
2.2.6 數據庫快照 37
2.2.7 微軟Azure選項和Azure SQL數據庫 38
2.2.8 應用集群 40
2.3 小結 41
Part II 選擇正確的高可用性方法
第3章 高可用性選擇 43
3.1 實現高可用性的四步過程 43
3.2 步驟1:啟動第0階段高可用性評估 44
3.2.1 第0階段高可用性評估所需資源 44
3.2.2 第0階段高可用性評估的任務 45
3.3 步驟2:量測高可用性的主要變量 47
3.4 步驟3:確定高可用性最優解決方案 48
3.5 步驟4:檢驗所選高可用性解決方案的成本 66
3.5.1 ROI計算 66
3.5.2 在開發方法中添加高可用性元素 67
3.6 小結 68
Part III 高可用性實現
第4章 故障轉移集群 71
4.1 不同形式的故障轉移集群 72
4.2 集群如何工作 73
4.2.1 理解WSFC 74
4.2.2 利用NLB擴展WSFC 77
4.2.3 在WFSC中如何設置SQL Server集群和AlwaysOn的實現階段 78
4.2.4 故障轉移集群的安裝 79
4.3 SQL集群配置 84
4.4 AlwaysOn可用性組配置 84
4.5 SQL Server數據庫磁盤配置 85
4.6 小結 86
第5章 SQL Server集群 87
5.1 在WSFC下安裝SQL Server集群 88
5.2 SQL Server故障轉移集群中需注意的問題 99
5.3 多站點SQL Server故障轉移集群 99
5.4 場景1:具有SQL Server集群的應用服務提供商 100
5.5 小結 102
第6章 SQL Server AlwaysOn可用性組 103
6.1 AlwaysOn可用性組用例 103
6.1.1 Windows服務器故障轉移集群 104
6.1.2 AlwaysOn故障轉移集群實例 104
6.1.3 AlwaysOn可用性組 105
6.1.4 故障轉移與擴展選項結合 108
6.2 構建一個多節點AlwaysOn配置 108
6.2.1 驗證SQL Server實例 109
6.2.2 設置故障轉移集群 109
6.2.3 準備數據庫 111
6.2.4 啟用AlwaysOn高可用性 111
6.2.5 備份數據庫 112
6.2.6 創建可用性組 112
6.2.7 選擇可用性組的數據庫 113
6.2.8 確定主副本和次要副本 115
6.2.9 同步數據 116
6.2.10 設置監聽器 118
6.2.11 連接所用的監聽器 121
6.2.12 故障轉移到次要副本 121
6.3 儀表盤和監測 123
6.4 場景2:使用AlwaysOn可用性組的投資組合管理 124
6.5 小結 126
第7章 SQL Server數據庫快照 127
7.1 數據庫快照的含義 128
7.2 即寫即拷技術 131
7.3 何時使用數據庫快照 132
7.3.1 恢復目的的快照還原 132
7.3.2 在大規模更改之前保護數據庫 133
7.3.3 提供測試(或質量保證)起始點(基線) 133
7.3.4 提供時間點報表數據庫 134
7.3.5 從鏡像數據庫提供高可用性和卸載報表數據庫 135
7.4 設置和撤銷數據庫快照 136
7.4.1 創建一個數據庫快照 136
7.4.2 撤銷一個數據庫快照 140
7.5 用于恢復的數據庫快照還原 140
7.5.1 通過數據庫快照還原源數據庫 140
7.5.2 利用數據庫快照進行測試和QA 141
7.5.3 數據庫快照的安全保障 142
7.5.4 快照的稀疏文件大小管理 142
7.5.5 每個源數據庫的數據庫快照個數 143
7.5.6 為實現高可用性添加數據庫鏡像 143
7.6 數據庫鏡像的含義 143
7.6.1 何時使用數據庫鏡像 145
7.6.2 數據庫鏡像配置的角色 145
7.6.3 角色扮演和角色切換 145
7.6.4 數據庫鏡像工作模式 146
7.7 設置和配置數據庫鏡像 147
7.7.1 準備鏡像數據庫 147
7.7.2 創建端點 149
7.7.3 授權權限 151
7.7.4 在鏡像服務器上創建數據庫 151
7.7.5 確定數據庫鏡像的其他端點 153
7.7.6 監視鏡像數據庫環境 154
7.7.7 刪除鏡像 157
7.8 測試從主服務器到鏡像服務器的故障轉移 158
7.9 在數據庫鏡像上設置數據庫快照 160
7.10 場景3:使用數據庫快照和數據庫鏡像的投資組合管理 162
7.11 小結 164
第8章 SQL Server數據復制 165
8.1 實現高可用性的數據復制 165
8.1.1 快照復制 165
8.1.2 事務復制 166
8.1.3 合并復制 166
8.1.4 數據復制的含義 167
8.2 發布服務器、分發服務器和訂閱服務器的含義 169
8.2.1 發布和項目 170
8.2.2 篩選項目 170
8.3 復制方案 173
8.3.1 中央發布服務器 174
8.3.2 具有遠程分發服務器的中央發布服務器 175
8.4 訂閱 176
8.4.1 請求訂閱 176
8.4.2 推送訂閱 177
8.5 分發數據庫 177
8.6 復制代理 178
8.6.1 快照代理 178
8.6.2 日志讀取器代理 179
8.6.3 分發代理 179
8.6.4 各種其他代理 180
8.7 用戶需求驅動的復制設計 180
8.8 復制設置 180
8.8.1 啟用分發服務器 181
8.8.2 發布 183
8.8.3 創建一個發布 183
8.8.4 創建一個訂閱 185
8.9 切換到溫備用(訂閱服務器) 190
8.9.1 切換到溫備用的場景 190
8.9.2 切換到溫備用(訂閱服務器) 190
8.9.3 訂閱服務器轉換為發布服務器(如果需要) 191
8.10 復制監視 191
8.10.1 SQL語句 191
8.10.2 SQL Server Management Studio 192
8.10.3 Windows性能監視器與復制 194
8.10.4 復制配置的備份和恢復 194
8.11 場景2:利用數據復制的全球銷售和市場營銷 196
8.12 小結 198
第9章 SQL Server日志傳送 199
9.1 廉價的高可用性 199
9.1.1 數據延遲和日志傳送 200
9.1.2 日志傳送的設計和管理含義 201
9.2 日志傳送設置 202
9.2.1 創建日志傳送之前 202
9.2.2 利用數據庫日志傳送任務 203
9.2.3 源服務器發生故障時 211
9.3 場景4:使用日志傳送的挖掘前呼叫 211
9.4 小結 213
第10章 云平臺的高可用性選項 215
10.1 高可用性云存在的問題 215
10.2 利用云計算的高可用性混合方法 216
10.2.1 復制拓撲的云擴展 217
10.2.2 為提高高可用性的日志傳送云擴展 219
10.2.3 為提高高可用性創建一個云端拉伸數據庫 220
10.2.4 將AlwaysOn可用性組應用到云端 221
10.2.5 利用云端的AlwaysOn可用性組 222
10.2.6 在云端使用高可用性的Azure SQL數據庫 224
10.2.7 使用主動式異地數據復制備援 225
10.2.8 使用云端Azure大數據選項時的高可用性 226
10.3 小結 226
第11章 高可用性和大數據選項 227
11.1 Azure的大數據選項 227
11.1.1 HDInsight 228
11.1.2 機器學習Web服務 229
11.1.3 數據流分析 229
11.1.4 認知服務 229
11.1.5 數據湖分析 229
11.1.6 數據湖存儲 229
11.1.7 數據工廠 230
11.1.8 嵌入式Power BI 231
11.1.9 微軟Azure數據湖服務 231
11.2 HDInsight特性 231
11.2.1 使用NoSQL功能 232
11.2.2 實時處理 232
11.2.3 交互式分析的Spark 233
11.2.4 用于預測分析和機器學習的R服務器 233
11.2.5 Azure數據湖分析 233
11.2.6 Azure數據湖存儲 234
11.3 Azure大數據的高可用性 235
11.3.1 數據冗余 235
11.3.2 高可用性服務 236
11.4 如何創建一個高可用性的HDInsight集群 236
11.5 大數據訪問 244
11.6 從企業初創到形成規模的過程中,大數據經歷的七個主要階段 246
11.7 大數據解決方案需要考慮的其他事項 249
11.8 Azure大數據用例 249
11.8.1 用例1:迭代探索 249
11.8.2 用例2:基于需求的數據倉庫 250
11.8.3 用例3:ETL自動化 250
11.8.4 用例4:BI集成 250
11.8.5 用例5:預測分析 250
11.9 小結 250
第12章 高可用性的硬件和操作系統選項 253
12.1 服務器高可用性的考慮 254
12.1.1 故障轉移集群 254
12.1.2 網絡配置 255
12.1.3 虛擬機集群復制 256
12.1.4 虛擬化競爭 256
12.2 備份考慮 258
12.2.1 集成虛擬機管理程序復制 259
12.2.2 虛擬機快照 259
12.2.3 災難恢復即服務 260
12.3 小結 260
第13章 災難恢復和業務連續性 261
13.1 如何實現災難恢復 262
13.1.1 災難恢復模式 263
13.1.2 恢復目標 268
13.1.3 以數據為中心的災難恢復方法 268
13.2 災難恢復的微軟選項 269
13.2.1 數據復制 269
13.2.2 日志傳送 271
13.2.3 數據庫鏡像和快照 272
13.2.4 數據變更捕獲 272
13.2.5 AlwaysOn可用性組 273
13.2.6 Azure和主動式異地數據復制備援 275
13.3 災難恢復的整體過程 275
13.3.1 災難恢復的重點關注問題 276
13.3.2 規劃和執行災難恢復 282
13.4 近期是否有過拆分數據庫 282
13.5 第三方災難恢復方案 283
13.6 小結 283
第14章 高可用性實現 285
14.1 首要基礎 285
14.2 組建高可用性評估小組 287
14.3 設置高可用性評估項目計劃進度/時間表 288
14.4 執行第0階段高可用性評估 288
14.4.1 步驟1:進行高可用性評估 289
14.4.2 步驟2:確定高可用性主要變量 291
14.4.3 在開發生命周期中集成高可用性任務 292
14.5 選擇高可用性解決方案 294
14.6 確定高可用性解決方案是否具有高性價比 296
14.7 小結 298
第15章 當前部署的高可用性升級 299
15.1 量化當前部署 300
15.2 確定采用何種高可用性解決方案進行升級 302
15.3 規劃升級 306
15.4 執行升級 306
15.5 測試高可用性配置 307
15.6 監視高可用性的性能狀況 308
15.7 小結 310
第16章 高可用性和安全性 313
16.1 安全性總體框架 314
16.1.1 使用對象權限和角色 315
16.1.2 使用模式綁定視圖的對象保護 317
16.2 確保高可用性選項具有適當的安全性 319
16.2.1 SQL集群安全性考慮 319
16.2.2 日志傳送安全性考慮 320
16.2.3 數據復制安全性考慮 321
16.2.4 數據庫快照安全性考慮 322
16.2.5 AlwaysOn可用性組安全性考慮 323
16.3 SQL Server審核 324
16.4 小結 327
第17章 高可用性的未來發展方向 329
17.1 高可用性即服務 329
17.2 100%虛擬化的平臺 330
17.3 100%的云平臺 331
17.4 先進的異地數據復制備援 332
17.5 災難恢復即服務? 334
17.6 小結 335
- 輸水管線工程風險管理 [張勇 黨亥生 著]
- 民用航空飛機標準線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運河講談錄 [趙珩 著]
- 實用運籌學 [主編 邢育紅 于晉臣]
- 三峽梯級電站水資源決策支持系統研究與開發 [姚華明 潘紅忠 湯正]
- 海南黎族民俗文化鑒賞 [龐國華 著]
- 石墨烯在太赫茲及中紅外頻段電磁器件設計中的應用 [李艷秀 莊華偉 著]
- 電子技術(第二版) [主編 覃愛娜 李飛]
- 辦公自動化高級應用 [陳萍 朱曉玉]
- 信息處理技術員考試32小時通關 [薛大龍]
- 電子產品設計案例教程(微課版)—基于嘉立創EDA(專業版) [王靜 莫志宏 陳學昌 丁紅]
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- Web技術開發教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 商務英語翻譯教程(筆譯)(第四版) [主編 王軍平]
- 智慧零售技術與應用 [洪旭 著]
- 建設工程法規實務 [主編 余瀅]
- 商務秘書理論與實務(第三版) [主編 張同欽]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務 [主編 王秀卿 羅靜]
- 工程數學 [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 信息系統項目管理師章節習題與考點特訓(第二版) [主編 薛大龍]
- 武術基礎教程 [主編 李代勇 謝志民]
- 計算機網絡實訓教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機械制圖習題集(多學時) [主編 趙軍]
- HCIA-Datacom認證題庫分類精講 [主 編 韓立剛]
- SwiftUI完全開發 [李智威 著]
- 網絡規劃設計師備考一本通 [夏杰 編著]