深入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
- 零基础玩转国产大模型DeepSeek [徐永冰 张帅 编著]
- 网络工程师5天修炼(适配第6版考纲) [主编 朱小平 施游]
- 信息系统项目管理师考试32小时通关(适用第4版考纲) [薛大龙]
- 信息系统管理工程师考试32小时通关(适配第2版考纲) [薛大龙 刘伟]
- 土木工程材料检测实训 [洪晓江 达则晓丽 钱波]
- 科技信息检索与论文写作实用教程 [李振华]
- 传统山水画论解读与实践 [陈钠 著]
- Python数据库编程 [主编 殷树友 邢 翀]
- 计算机基础实训指导 [主编 袁春萍 朱妮]
- 嵌入式人工智能技术应用(数字教材) [主编 胡娜 杨国勇 晏廷荣]
- Vienna整流器技术 [桂存兵 著]
- 变频器与伺服应用 [陈刚 叶云飞]
- 物联网工程设计与实践 [汤琳 李敏]
- 炉边夜话——深入浅出话AI [汪建 著]
- 电商运营与管理 [钟肖英 陈潇]
- Java面向对象程序设计 [主编 姜春磊 陈虹洁]
- 信息技术基础(Windows 10+WPS Office)(微课版) [主编 石利平 田辉平 谢盛嘉]
- 人工智能应用 [主编 陈 萍 刘培培 陈孟军]
- 大学生职业发展与就业指导 [主编 刘志坚]
- 高级办公应用项目教程 [主编 屈晶 赵成丽]
- 微信小程序开发项目实战(微课版) [主编 黄龙泉 郭峰 朱倩]
- 企业档案工作实战宝典百问百答 [华俊 卢秀英 邵甜甜 著]
- 计算机网络原理及应用 [主编 唐继勇 叶坤 孙梦娜]
- 大学生创业基础 [主编 王丽莉 王 杨]
- 船舶辅机 [主编 王连海 于洋 姜淑翠]
- 大学生就业指导 [主编 王丽莉 董宴廷]
- 系统架构设计师章节习题与考点特训 [主编 薛大龙 邹月平]
- 高校学生工作探索与实践 [郭亮 著]
- 大学生情商管理 [方雄 著]
- 2023年长沙市会展业发展报告 [主编 周栋良]