本书是微软全球技术支持中心数据库支持部技术主管的沥血之作,书中案例选自微软全球客户遇到的实际问题。本书的最大特点是面向实战,主要面向Microsoft SQL Server各个版本的数据库系统管理和开发人员,介绍SQL Server关系型数据库引擎在日常使用和开发过程中经常会遇到的问题、其表现形式、背后运行机理、基本理论知识、搜集和分析问题日志的方法,以及解决实际问题的可选手段。阅读本书可以帮助数据库管理与开发人员更深入地理解SQL Server的原理和运行规律,以提高解决问题的能力。
目录
- 第1章 数据库空间管理
- 1.1 文件的分配方式及文件空间检查方法
- 1.2 数据文件空间使用与管理
- 1.3 日志文件不停增长
- 1.4 文件自动增长和自动收缩
- 1.5 小结
- 第2章 数据库备份与恢复
- 2.1 备份概述
- 2.2 选择备份策略和恢复模式
- 2.3 选择数据库还原方案
- 2.4 应对由于备份损坏导致的还原错误
- 2.5 系统数据库备份与恢复
- 2.6 实例:将数据库系统在一台新服务器上恢复
- 第3章 SQL Server服务或数据库不可访问
- 3.1 SQL Server服务启动顺序
- 3.2 数据库状态切换及Recovery
- 3.3 系统数据库不能启动的常见原因和解决方法
- 3.4 用户数据库常见问题和解决方法
- 3.5 实例:修复Recovery失败的数据库
- 第4章 数据库损坏修复
- 4.1 常见错误解读
- 4.2 DBCC CHECKDB
- 4.3 数据库反复损坏问题应对
- 第5章 连接与认证
- 5.1 协议的选择与别名
- 5.2 连接失败检测步骤——命名管道
- 5.3 连接失败检测步骤——TCP/IP
- 5.4 一般性网络错误(General Network Error)
- 5.5 认证与代理问题
- 第6章 SQL Server内存分配理念和常见内存问题
- 6.1 从操作系统层面看SQL Server内存分配
- 6.2 SQL Server内部独特的内存管理模式
- 6.3 SQL Server内存使用状况分析方法
- 6.4 数据页缓冲区压力分析
- 6.5 Stolen Memory缓存压力分析
- 6.6 Multi-page缓存区压力分析
- 6.7 常见内存错误与解决办法
- 6.8 小结
- 第7章 SQL Server IO问题
- 7.1 SQL Server的I/O操作
- 7.2 系统级I/O问题判断
- 7.3 数据库引擎错误833
- 7.4 IO问题的SQL Server内部分析
- 7.5 硬盘压力测试
- 7.6 小结
- 第8章 任务调度与CPU问题
- 8.1 SQL Server独特的任务调度算法(SQLOS)
- 8.2 SQL CPU %问题
- 8.3 OLTP和Data Warehouse系统差别及常用性能阀值
- 8.4 小结
- 第9章 阻塞与死锁——知识准备
- 9.1 锁产生的背景
- 9.2 锁资源模式和兼容性
- 9.3 事务隔离级别与锁的申请和释放
- 9.4 如何监视锁的申请、持有和释放
- 9.5 锁的数量和数据库调优的关系
- 9.6 结论
- 9.7 数据库引擎中基于行版本控制的隔离级别
- 第10章 阻塞与死锁——问题定位与解决
- 10.1 阻塞问题定位方法及实例演示
- 10.2 常见阻塞原因与解决方法
- 10.3 案例分析:连接池(Connection Pooling)与阻塞
- 10.4 死锁问题定位及解决方法
- 第11章 从等待状态判断系统资源瓶颈
- 11.1 LCK_xx类型
- 11.2 PAGEIOLATCH_x 与WRITELOG
- 11.3 PAGELATCH_x
- 11.4 Tempdb上的PAGELATCH
- 11.5 其他资源等待
- 11.6 最后一道瓶颈:许多任务处于Runnable状态
- 11.7 小结
- 第12章 语句调优——知识准备
- 12.1 索引与统计信息
- 12.2 编译与重编译
- 12.3 读懂执行计划
- 12.4 读懂语句运行统计信息
- 第13章 语句调优-问题定位与解决方法
- 13.1 是否是因为做了物理IO而导致的性能不佳
- 13.2 是否是因为编译时间长而导致性能不佳
- 13.3 判断执行计划是否合适
- 13.4 Parameter Sniffing
- 13.5 调整数据库设计来优化语句性能
- 13.6 调整语句设计提高性能
- 第14章 常用SQL Server系统信息与搜集方法
- 14.1 Windows 事件日志(Event Log)
- 14.2 SQL Server Errorlog文件
- 14.3 性能监视器(Performance Monitor)
- 14.4 SQL Trace文件
- 14.5 系统管理视图跟踪
- 14.6 自动化信息收集:SQLDiag工具
-
14.7 系统自动监视工具 - Performance Dashboard