Part Ⅰ 理解高可用性 1
第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 Ⅱ 选择正确的高可用性方法 43
第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 Ⅲ 高可用性实现 71
第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