SQL Server求生秘籍
0推荐 收藏
3.2K阅读
图灵程序设计丛书

SQL Server求生秘籍

Ken Henderson (作者) 若启 , 一辉 , 瞿杰 (译者)
终止销售
本书帮助你解决众多数据库引擎方面的问题,每一章从关键的SQL Server 组件入手,然后探讨用户遇见的常见问题,并给出解决方案。本书的主要内容包括等待和阻塞、数据毁坏和恢复、内存、过程缓存、查询进程等。本书的作者都是来自微软公司SQL Server 开发团队和客户支持服务部门的支持专家。在你的SQL Server 系统遇到问题时,本书将变得不可或缺。
本书适合数据库管理员和数据库开发人员阅读。
纸质书
¥59.00

其他购买方式?

出版信息

同系列书

  • JavaScript高级程序设计(第4版)

    [美]马特·弗里斯比(Matt Frisbie)   李松峰   译

    本书是JavaScript经典图书的新版。第4版涵盖ECMAScript 2019,全面、深入地介绍了Java...

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • Python编程:从入门到实践(第2版)

    埃里克·马瑟斯(Eric Matthes)   袁国忠   译

    本书是针对所有层次Python读者而作的Python入门书。全书分两部分:第一部分介绍用Python编程所必须...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

目录

第1章 等待和阻塞 1
1.1 等待类型 1
1.2 对阻塞问题进行故障排查 2
1.3 识别阻塞 3
1.3.1 通过sys.dm_os_waiting_tasks来识别阻塞 3
1.3.2 从统计上识别阻塞 5
1.4 确定阻塞的原因 8
1.4.1 当前的语句和计划 8
1.4.2 阻塞模式 8
1.4.3 阻塞链 9
1.5 资源类型的细节 10
1.5.1 闩锁 10
1.5.2 锁 18
1.5.3 外部等待类型 29
1.5.4 计时器和队列等待类型 29
1.5.5 IO操作的等待类型 30
1.5.6 其他等待类型 31
1.6 死锁 32
1.7 监视阻塞 33
1.7.1 等待的统计信息 33
1.7.2 当前的等待信息 33
1.8 小结 36
1.9 其他资源 36
第2章 数据损坏及恢复 37
2.1 基本原理 38
2.2 SQL Server 2005存储内幕 39
2.2.1 数据库及文件状态 39
2.2.2 资源数据库 40
2.2.3 目录视图和基本系统表 41
2.2.4 分配结构 50
2.2.5 数据库校验和 53
2.2.6 快速恢复 53
2.2.7 延期事务 54
2.2.8 只读的压缩数据库 54
2.3 SQL Server 2005增强 55
2.3.1 备份增强 55
2.3.2 还原增强 55
2.3.3 DBCC CHECKDB增强 56
2.4 数据恢复最佳实践 58
2.4.1 备份/还原最佳实践 58
2.4.2 数据库及日志最佳实践 59
2.4.3 DBCC CHECKDB最佳实践 60
2.5 数据恢复故障排查场景 61
2.5.1 系统数据库恢复 61
2.5.2 恢复资源数据库 68
2.5.3 创建tempdb故障 69
2.5.4 重装操作系统 69
2.6 用户数据库不可访问 69
2.6.1 数据库被标记为RECOVERY_PENDING 70
2.6.2 处理延迟事务 77
2.6.3 数据库被标记为SUSPECT 78
2.6.4 粘贴数据库故障 79
2.7 BACKUP/RESTORE故障 80
2.7.1 BACKUP故障 80
2.7.2 RESTORE故障 84
2.8 数据库一致性错误 85
2.8.1 处理数据库一致性运行时错误 85
2.8.2 处理DBCC CHECKDB错误 89
2.8.3 修复与还原 100
2.8.4 每个错误表示什么 101
2.8.5 解释 101
2.8.6 用户动作 101
2.8.7 REPAIR_ALLOW_DATA_LOSS真正的意思是什么 102
2.8.8 进行恢复之前的根本原因分析 102
2.8.9 如果修复没有用,应该怎么办 103
2.8.10 复制数据与修复 103
2.8.11 找出损坏的根本原因:清单 103
第3章 内存 110
3.1 Windows内存管理入门 110
3.1.1 内部的虚拟内存——虚拟地址空间 110
3.1.2 外部虚拟内存 113
3.1.3 内部物理内存 113
3.1.4 外部物理内存 114
3.1.5 内存压力 115
3.1.6 NUMA支持 117
3.2 SQLOS和SQL Server的内存管理 118
3.2.1 内存结点 118
3.2.2 内存clerk 119
3.2.3 内存对象 119
3.2.4 内存缓存 120
3.2.5 缓冲池 123
3.2.6 故障排查 127
第4章 过程缓存 143
4.1 过程缓存的架构 143
4.1.1 缓存对象的类型 144
4.1.2 过程缓存的结构 147
4.1.3 过程缓存和内存 148
4.1.4 非缓存计划和零成本计划 150
4.1.5 计划的共享 151
4.1.6 重编译 151
4.1.7 参数化 152
4.1.8 缓存查找如何工作 156
4.1.9 缓存计划复用 157
4.1.10 刷新过程缓存 158
4.2 常见缓存相关问题及解决方案 158
4.2.1 使用过程缓存来确定代价昂贵的查询 158
4.2.2 参数截取 160
4.2.3 较差的计划复用造成较高的编译时间 169
4.2.4 由于过度的缓存查找时间导致的高CPU问题 173
4.2.5 由过程缓存所引起的内存压力 173
4.3 小结 175
第5章 查询处理器 176
5.1 查询处理器基础 176
5.1.1 编译—执行序列 176
5.1.2 执行计划 178
5.1.3 查询编译和计划选择 180
5.1.4 特殊的优化方法及场景 182
5.2 常见问题 185
5.2.1 编译时间和参数化 185
5.2.2 索引化 189
5.2.3 基数和开销估算 191
5.3 故障排查 192
5.3.1 诊断 192
5.3.2 控制 198
5.4 最佳实践 208
5.4.1 使用面向集合的编程模型 209
5.4.2 提供约束和统计的信息 209
5.4.3 注意复杂的构造 209
5.4.4 尽可能地避免动态语言特性 210
5.5 进阶阅读 210
第6章 服务器崩溃和其他致命故障 212
6.1 基础知识 212
6.1.1 SQL Server 2005服务器恢复内幕 212
6.1.2 SQL Server 2005的增强特性 218
6.2 致命错误与服务器恢复故障排查 221
6.2.1 服务器启动故障排查 221
6.2.2 对服务器致命错误进行故障排查 227
6.2.3 服务器挂起问题的故障排查 255
第7章 Service Broker相关问题 259
7.1 Broker总览 260
7.1.1 为什么要使用Service Broker 260
7.1.2 Service Broker的对象和术语 260
7.1.3 内部架构 261
7.2 主要的诊断工具和方法 261
7.2.1 传输队列视图 261
7.2.2 SQL Profiler——Service Broker跟踪事件 262
7.2.3 错误日志和NT事件日志 264
7.3 Broker故障排查实践 265
7.4 其他Service Broker诊断工具 272
7.4.1 视图 272
7.4.2 Perfmon 283
7.4.3 DBCC CHECKDB 285
7.5 进阶阅读 286
第8章 SQLOS和调度问题 287
8.1 SQLOS架构 288
8.1.1 内存和CPU结点 289
8.1.2 调度器 290
8.1.3 任务和worker 291
8.1.4 SQL Server和SQLOS 291
8.2 配置和故障排查 291
8.2.1 结点配置 291
8.2.2 网络连接关联 292
8.2.3 调度器 294
8.2.4 任务与worker 296
8.2.5 调度器之间的负载均衡任务 297
8.2.6 Max Worker Threads配置 298
8.2.7 Lightweight Pooling配置 299
8.2.8 Affinity Mask配置 300
8.2.9 磁盘I/O完成处理 301
8.2.10 抢占式I/O完成处理 302
8.2.11 调度器监视器 303
8.2.12 硬件配置 314
8.2.13 专用管理员连接 316
8.3 进阶阅读 318
第9章 tempdb相关问题 319
9.1 SQL Server 2005中有何改进 320
9.1.1 tempdb日志文件的IO动作少了 321
9.1.2 tempdb数据文件自动增长更快 321
9.1.3 改进tempdb的并行访问的可扩展性 321
9.1.4 改进tempdb中多个文件的可扩展性 322
9.2 tempdb空间是如何使用的 322
9.2.1 什么是用户对象 323
9.2.2 什么是内部对象 323
9.2.3 什么是版本存储对象 324
9.3 故障排查实践 325
9.3.1 如果tempdb空间不足,你该怎么办 325
9.3.2 什么是tempdb页面闩锁竞争 327
9.4 小结 328
第10章 群集问题 329
10.1 示例 329
10.2 工具 331
10.3 将性能调整到可接受的水平上 333
10.3.1 添加结点 334
10.3.2 为什么群集SQL Server实例发生故障转移 337
10.3.3 为什么故障转移要花这么长时间 338
10.3.4 故障转移之后没人可以连接 338
10.3.5 添加磁盘 339
10.3.6 替换磁盘 339
10.3.7 转移数据库 339
10.4 小结 339
暂无评论!