SQL Server On Linux运维实战

978-7-115-50242-1
作者: 熊章立黄钊吉
译者:
编辑: 王峰松

图书目录:

第 1篇 基础篇

第 1章 SQL Server On Linux简介 2

1.1 为何选择Linux平台的SQL Server 2

1.2 SQL Server关键组件简介 4

1.3 SQL Server On Linux新特性简介 6

1.3.1 数据库引擎 6

1.3.2 SQL Server Integration Services 8

1.3.3 机器学习 8

1.3.4 兼容Linux平台 9

1.3.5 其他 9

1.4 SQL Server On Linux新玩法 9

1.5 SQL Platform Abstraction Layer 10

1.5.1 PAL简介 10

1.5.2 进程模型 12

1.5.3 小结 12

1.6 本书结构 13

1.7 总结 14

第 2章 Linux基础及安装部署 15

 2.1 背景介绍 15

 2.2 前期规划 17

 2.3 基础框架 19

 2.4 部署 20

2.4.1 服务器命名及配置 21

2.4.2 安装过程 21

 2.5 预配置 43

2.5.1 查看当前IP地址 44

2.5.2 检查网络连通性 45

2.5.3 远程登录 46

 2.6 总结 48

第3章 安装配置SQL Server On Linux 49

 3.1 安装前的准备工作 49

 3.2 安装攻略 50

3.2.1 操作系统环境检查 51

3.2.2 安装SQL Server 53

3.2.3 验证安装 55

3.2.4 安装SQL Server命令行工具 56

3.2.5 尝试使用 58

 3.3 环境配置 59

3.3.1 更新/卸载/重装SQL Server 60

3.3.2 检查配置存储库信息 65

3.3.3 安装SQL Server代理 67

3.3.4 SQL Server实例配置 68

 3.4 注意事项 78

 3.5 安装示例数据库 79

3.5.1 下载备份文件 79

3.5.2 移动文件 82

 3.6 总结 83

第 2篇 管理篇

第4章 Linux基础运维 86

 4.1 常用指令 86

4.1.1 文件或目录 86

4.1.2 编辑或查看指令 88

4.1.3 网络相关 95

4.1.4 系统层面 98

4.1.5 其他杂项 104

 4.2 基础运维 106

4.2.1 服务部署 106

4.2.2 指标 115

4.2.3 安全 122

4.2.4 调优 130

4.2.5 Shell入门 135

 4.3 总结 143

第5章 Linux基础监控 144

 5.1 分布式监控系统Zabbix 145

5.1.1 安装服务端 145

5.1.2 安装配置客户端 149

5.1.3 告警设置 154

 5.2 Grafana展现 162

5.2.1 部署 162

5.2.2 数据源选择 163

5.2.3 丰富的面板 167

5.2.4 定制 170

 5.3 SQL Server监控 175

 5.4 总结 180

第6章 服务及空间管理 181

 6.1 服务器的服务及空间管理 181

6.1.1 Windows服务及空间管理 181

6.1.2 Linux服务及空间管理 184

6.1.3 小结 187

 6.2 SQL Server服务及空间管理 188

6.2.1 SQL Server服务管理 188

6.2.2 SQL Server空间管理 191

 6.3 SQL On Linux备份还原 198

6.3.1 数据库备份 199

6.3.2 数据库还原 203

6.3.3 数据库备份还原新用法 207

 6.4 总结 207

第7章 SQL Server On Linux数据库安全 208

 7.1 安全概念 208

 7.2 始终加密 209

7.2.1 AE简介 209

7.2.2 AE演示 209

7.2.3 创建密钥 214

7.2.4 小结 216

 7.3 动态数据屏蔽 216

7.3.1 DDM简介 217

7.3.2 DDM屏蔽规则 217

7.3.3 DDM演示 217

7.3.4 DDM性能与安全 219

 7.4 行级安全性 221

7.4.1 RLS演示 221

7.4.2 小结 223

 7.5 时态表 223

7.5.1 SQL Server时态表 224

7.5.2 SQL Server时态表的演示 224

 7.6 总结 228

第8章 Linux自动化运维演示 229

 8.1 expect 229

8.1.1 Shell中的expect 229

8.1.2 Python模块中的pexpect 231

8.1.3 Python模块中的paramiko 233

8.1.4 小结 234

 8.2 Ansible入门 234

8.2.1 安装部署 234

8.2.2 基本操作 237

8.2.3 进阶 238

8.2.4 架构图及架构说明 239

 8.3 总结 240

第9章 数据库监控 241

 9.1 监控理论 241

9.1.1 监控的内容和目的 242

9.1.2 监控的方法/流程 244

9.1.3 监控的意义 245

9.1.4 小结 246

 9.2 监控工具 246

9.2.1 SQL跟踪 247

9.2.2 扩展事件 248

9.2.3 动态管理视图/动态管理函数 248

9.2.4 性能计数器及数据收集器集 248

9.2.5 SQL Server新工具 254

9.2.6 专家工具 255

9.2.7 传统工具 257

9.2.8 使用方法 257

 9.3 监控分析 258

 9.4 监控展示 258

 9.5 总结 260

第3篇 性能篇

第 10章 SQL Server性能优化方法论 262

 10.1 性能简介 262

 10.2 性能优化的误区 263

 10.3 常见影响因素 265

10.3.1 应用程序的体系结构 265

10.3.2 应用程序设计 265

10.3.3 数据库设计 266

10.3.4 事务和隔离级别 266

10.3.5 T-SQL编码 266

10.3.6 硬件资源及部署 267

10.3.7 SQL Server配置 267

 10.4 常规性能优化流程 269

 10.5 扩充阅读 270

 10.6 优化Checklist 271

10.6.1 数据库设计 271

10.6.2 语句设计 271

10.6.3 配置 272

 10.7 总结 272

第 11章 SQL Server On Linux故障侦测 273

 11.1 SQL Server查询生命周期 273

11.1.1 查询优化和执行 273

11.1.2 小结 282

 11.2 常用故障侦测手段 282

11.2.1 扩展事件 282

11.2.2 常规侦测手段 288

11.2.3 查询存储 289

 11.3 总结 294

第 12章 SQL Server性能优化新工具 295

 12.1 简介 295

 12.2 查询存储 295

12.2.1 查询存储中的信息 296

12.2.2 查询存储包含的内容 296

12.2.3 何时使用查询存储 299

12.2.4 查询存储最佳实践 302

 12.3 自动优化 303

12.3.1 自动优化的工作原理 303

12.3.2 自动计划更正 304

12.3.3 自动优化的演示 304

 12.4 自适应查询处理 308

12.4.1 旧式优化行为 308

12.4.2 新式优化行为 308

 12.5 实时查询统计信息 316

 12.6 总结 318

第 13章 SQL Server索引优化 319

 13.1 简介 319

 13.2 索引基础 320

13.2.1 索引目标 320

13.2.2 索引组织和分类 320

13.2.3 索引术语 322

13.2.4 索引访问方式 322

13.2.5 SARG 323

13.2.6 列存储索引 324

 13.3 统计信息基础 329

13.3.1 查找关于索引的信息 329

13.3.2 简要说明 331

13.3.3 常规建议 331

 13.4 索引种类 332

13.4.1 堆表 332

13.4.2 聚集索引 332

13.4.3 非聚集索引 332

13.4.4 其他索引类型 332

13.4.5 索引变种 332

 13.5 索引分析与优化 333

13.5.1 问题隔离 333

13.5.2 索引问题分类 334

13.5.3 索引优化 335

 13.6 索引建议 346

13.6.1 索引误区 346

13.6.2 索引维护建议 347

 13.7 总结 347

第 14章 SQL Server等待信息 348

 14.1 我们在等待什么 348

 14.2 简介 349

14.2.1 等待的含义 349

14.2.2 需要等待信息的原因 350

14.2.3 保存等待信息 350

 14.3 等待信息元数据 351

 14.4 并行执行 351

14.4.1 CXPACKET 352

14.4.2 CXPACKET的潜在问题 353

14.4.3 降低CXPACKET等待 353

14.4.4 CXPACKET深度分析 354

14.4.5 CXPACKET建议 354

 14.5 多任务等待 355

14.5.1 SOS_SCHEDULER_YIELD 355

14.5.2 多任务类型 357

14.5.3 多任务潜在问题 358

14.5.4 降低多任务等待 358

 14.6 I/O等待 358

 14.7 备份和还原等待 362

 14.8 锁定等待 362

 14.9 数据库日志等待 364

14.9.1 WRITELOG等待 364

14.9.2 降低WRITELOG等待 364

14.9.3 扩充说明 364

14.9.4 Logbuffer等待 365

14.9.5 Logbuffer的潜在问题 365

14.9.6 降低Logbuffer等待 366

 14.10 外部资源等待 366

14.10.1 MSSQL_XP等待 366

14.10.2 降低MSSQL_XP等待 366

14.10.3 OLEDB链接服务器等待 366

14.10.4 降低OLEDB等待 366

14.10.5 OLEDB扩展说明 367

 14.11 其他常见等待类型 367

14.11.1 RESOURCE_SEMAPHORE 367

14.11.2 THREADPOOL 367

14.11.3 PAGELATCH_XX 367

14.11.4 ACCESS_METHOD_XX 367

14.11.5 FGCB_ADD_REMOVE闩锁 368

14.11.6 DBCC_XX 368

14.11.7 Miscellaneous 368

 14.12 案例 368

 14.13 总结 369

第 15章 事务与阻塞 370

 15.1 环境准备和术语介绍 370

15.1.1 环境准备 370

15.1.2 术语 371

 15.2 事务与ACID 371

15.2.1 事务隔离级别和数据一致性 372

15.2.2 锁类型 373

15.2.3 锁演示 374

 15.3 阻塞 378

15.3.1 阻塞演示 378

15.3.2 阻塞侦测方法 378

15.3.3 阻塞信息实时侦测 379

15.3.4 阻塞信息收集 383

 15.4 死锁 385

15.4.1 死锁演示 386

15.4.2 死锁侦测 388

15.4.3 降低死锁概率 389

 15.5 锁升级 389

15.5.1 锁升级概述 389

15.5.2 锁升级侦测 390

 15.6 事务设计建议 392

 15.7 总结 394

第 16章 In-Memory OLTP简介 395

 16.1 案例演示 395

 16.2 技术简介 398

16.2.1 术语简介 398

16.2.2 In-Memory的目标 398

16.2.3 体系结构 399

16.2.4 内存优化表索引 400

 16.3 快速上手 401

16.3.1 创建数据库 401

16.3.2 创建表 402

16.3.3 Natively Compiled存储过程 403

16.3.4 Interpreted T-SQL 404

 16.4 注意事项 405

 16.5 最佳实践 407

16.5.1 索引优化 407

16.5.2 其他建议 408

 16.6 总结 408

第4篇 架构篇

第 17章 SQL Server On Linux高可用介绍 410

 17.1 简介 410

17.1.1 使用AlwaysON的优点 410

17.1.2 Linux上的AlwaysON可用性组 411

17.1.3 环境准备 412

 17.2 安装过程 413

17.2.1 创建AG 413

17.2.2 配置集群管理器Pacemaker 422

 17.3 警报 427

 17.4 读写分离 432

 17.5 常见故障侦测手段 435

17.5.1 AlwaysON的常见问题 435

17.5.2 参考工具 436

 17.6 总结 438

第5篇 案例篇

第 18章 Linux运维案例 440

 18.1 被黑 440

 18.2 内存溢出 445

 18.3 打开过多文件 446

 18.4 从删库到“跑路” 448

 18.5 总结 450

第 19章 数据库运维案例 451

 19.1 简介 451

 19.2 案例分享 451

 19.3 其他案例 456

 19.4 总结 458

附录

附录A SQL Server DBA及Linux管理员面试题分析 460

附录B DBA与Linux管理Checklist 464

附录C SQL Server表关联细节 468

附录D Linux内核参数说明 471

详情

本书是国内第一本讲解SQL Server On Linux数据库管理方面的技术图书。本书以实际操作为主要内容,配合Linux平台运营和维护,同时结合作者多年的DBA工作经验,带领读者入门SQL Server On Linux。在书的最后,还会介绍一些高级内容及常见技巧、注意事项,方便新手掌握基础之后进阶。

图书摘要

相关图书

Java数据科学指南
Java数据科学指南
Oracle PL/SQL程序设计(第6版)(上下册)
Oracle PL/SQL程序设计(第6版)(上下册)
PowerShell V3——SQL Server 2012数据库自动化运维权威指南
PowerShell V3——SQL Server 2012数据库自动化运维权威指南
T-SQL性能调优秘笈——基于SQL Server 2012 窗口函数
T-SQL性能调优秘笈——基于SQL Server 2012 窗口函数
SQL Server 2012 T-SQL基础教程
SQL Server 2012 T-SQL基础教程

相关文章

相关课程