当前位置:首页 > 工业技术
Microsoft SQL Server 2000优化指南
Microsoft SQL Server 2000优化指南

Microsoft SQL Server 2000优化指南PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:(美)Jenney Lynne Fields著;袁勤勇,何欣等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2001
  • ISBN:7900637486
  • 页数:377 页
图书介绍:
《Microsoft SQL Server 2000优化指南》目录
标签:指南

第Ⅰ部分 概述和体系结构 3

第1章 SQL Server 2000概述 3

1.1 SQL Server 2000中的改进 3

1.2 支持大容量内存 3

1.3 支持Internet 4

1.3.1 SQL Server集群 4

1.3.2 多个实例 5

1.3.3 备份和恢复功能 5

1.3.4 改进的复制功能 5

1.3.5 日志输送 5

1.3.6 改善的索引机制 6

1.3.7 增强的Windows 2000安全性能 6

1.3.8 全文搜索 6

1.4 SQL Server 7.0的改进 6

1.4.1 简化的配置 6

1.4.2 动态空间管理 6

1.4.3 数据存储 7

1.4.4 并行查询处理 7

1.4.5 基于成本的锁定 7

1.4.6 存储例程执行的改进 7

1.4.7 连接的分解与合并 7

1.5 性能分析工具 8

1.6 资源消耗者 8

1.6.1 LazyWriter 8

1.6.2 Checkpoint 9

1.6.3 工作线程 10

1.6.4 日志管理器 10

1.6.5 预读管理器 10

1.7 调整SQL Server的关键考虑因素 11

1.8 调整和优化的必要性 11

1.9 小结 11

第2章 存储引擎 13

2.1 存储引擎简介 13

2.2 存储引擎特性 13

2.3 子系统综述 14

2.4 数据库实现的考虑因素 15

2.5 数据的组织 15

2.6 存储空间分配 16

2.6.1 数据页 16

2.6.2 盘区 17

2.6.3 空间分配 18

2.7 数据库文件 18

2.7.1 主数据文件 18

2.7.2 副数据文件 19

2.7.3 日志文件 19

2.7.4 支持多个数据库文件 20

2.8 系统数据库 20

2.8.1 主数据库 20

2.8.2 tempdb数据库 21

2.8.3 模型数据库 23

2.8.4 msdb数据库 24

2.9 数据库的创建、修改和删除 25

2.9.1 用Transact SQL创建数据库 25

2.9.2 用Enterprise Manager创建数据库 27

2.9.3 修改数据库 28

2.9.4 删除数据库 29

2.10 文件组 29

2.10.1 文件和文件组 29

2.10.2 把系统数据和用户数据分离开 30

2.10.3 文件组的类型 30

2.10.4 表和索引的放置 30

2.10.5 利用文件组改善性能 30

2.10.6 采用文件组时保持系统性能的建议 31

2.10.7 创建和管理文件组 31

2.10.8 指定默认文件组 32

2.10.9 从文件组中删除文件——DBCC SHRINKFILE 33

2.11 数据文件和日志文件的维护 34

2.11.1 sp_helpdb例程 35

2.11.2 sp_helpfile例程 35

2.11.3 sp_helpfilegroup例程 35

2.11.4 与自动增长和缩减有关的性能问题 36

2.12 表的组织 37

2.13 数据类型 38

2.14 索引 40

2.14.1 聚群集化的索引 41

2.14.2 非聚群集化的索引 41

2.14.3 分布统计 41

2.15 管理事务日志 42

2.15.1 事务日志简介 42

2.15.2 数据库恢复 42

2.15.3 事务日志结构 43

2.15.4 事务日志的容量 43

2.15.5 对事务日志进行维护 44

2.16 数据库的锁机制 45

2.16.1 锁的模式 45

2.16.2 数据库的一致性——对不完整页的检测 46

2.17 内存的使用 46

2.17.1 动态内存管理 46

2.17.2 内存的建议配置 47

2.18 处理器的使用 47

2.18.1 线程模型 47

2.18.2 并行查询 48

2.18.3 配置选项 48

2.19 小结 49

第3章 查询处理器 50

3.1 查询处理器简介 50

3.2 查询执行 51

3.2.1 执行规划 51

3.2.2 执行规划的使用 51

3.3 查询优化 52

3.3.1 查询优化的几个阶段 52

3.3.2 表扫描和索引扫描的对比 53

3.3.3 工作表和动态索引 54

3.4 查询优化器的类型 55

3.4.1 基于语法的查询优化器 55

3.4.2 基于成本的查询优化器 55

3.5 统计与查询优化器的关系 55

3.6 SQL Server查询处理器的改进 56

3.7 Internet支持 56

3.7.1 结构 57

3.7.2 数据访问 58

3.8 分块视图——SQL Server 2000服务器集群 59

3.8.1 功能 59

3.8.2 实现 59

3.8.3 性能 59

3.9 数据传输的效率 60

3.9.1 预读扫描 60

3.9.2 预取线索 60

3.9.3 排序改善 60

3.10 查询管理器 60

3.11 查询优化技术 61

3.12 连接技术 62

3.12.1 嵌套循环迭代 62

3.12.2 合并连接算法 62

3.12.3 散列连接算法 63

3.12.4 散列组队 64

3.13 线索 64

3.13.1 索引型 65

3.13.2 查询型 65

3.13.3 连接型 65

3.13.4 锁型 66

3.14 建立索引的策略 66

3.14.1 为视图建立索引 66

3.14.2 索引的交叉 67

3.14.3 索引连接 67

3.15 查询的并行处理 67

3.16 存储过程 68

3.17 多阶段 68

3.18 自动参数 69

3.19 过渡谓词 69

3.20 star查询 69

3.21 数据修改的优化 69

3.22 有关查询的工具 70

3.22.1 Query Analyzer 70

3.22.2 SQL Server Profiler 70

3.22.3 Index Tuning Wizard 71

3.23 小结 71

第Ⅱ部分 性能的考虑因素 75

第4章 硬件因素 75

4.1 简介 75

4.2 常见的硬件瓶颈 76

4.3 磁盘配置 81

4.4 要不要RAID 83

4.5 了解RAID等级 85

4.5.1 RAID 0——磁盘条带 85

4.5.2 RAID 1——镜像 85

4.5.3 RAID 5——带奇偶校验的条带 86

4.5.4 双工 86

4.5.5 RAID 0+1 87

4.6 硬件RAID和软件RAID的对比 87

4.7 磁盘和控制器因素 88

4.8 磁盘I/O 88

4.9 传输率 88

4.10 磁盘传输率 89

4.11 流量计算 89

4.12 决定控制器的容量 90

4.12.1 决定能够使流量最大化的磁盘数 91

4.12.2 决定使传输次数最大的磁盘最大数目 91

4.13 PCI总线带宽 92

4.14 磁带设备 92

4.15 磁盘I/O子系统要求的小结 92

4.16 改善磁盘I/O的建议 93

4.17 硬件越多越好 93

4.18 预读管理器 94

4.19 独立操作 94

4.19.1 把数据文件和日志文件分开 94

4.19.2 把tempdb和其他SQL Server对象分开 95

4.20 SQL Server和Windows NT/2000的磁盘因素 95

4.21 内存因素 96

4.21.1 Intel Extended Server Memory Architecture 96

4.21.2 AWE 97

4.21.3 分页 98

4.21.4 关于内存设置的建议 98

4.22 处理器因素 99

4.23 网络因素 101

4.24 小结 101

第5章 实现高度有效的解决方案 103

5.1 高度有效解决方案介绍 103

5.1.1 群集 103

5.1.2 多实例 104

5.1.3 集群服务器 104

5.1.4 备份和恢复功能 104

5.1.5 日志运送 104

5.1.6 备用服务器 105

5.1.7 SQL Server复制 105

5.1.8 Windows负载平衡服务 105

5.2 群集介绍 105

5.2.1 共享设备模型 106

5.2.2 无共享模型 106

5.2.3 群集的好处 107

5.2.4 群集的不利之处 108

5.3 Microsoft群集服务器实现 108

5.4 群集配置 109

5.4.1 主动/主动 109

5.4.2 主动/被动 110

5.5 故障恢复怎样工作 111

5.6 Microsoft群集服务器上的SQL Server 112

5.7 在群集中运行SQL Server的资源问题 113

5.8 SQL Server多重实例 113

5.8.1 介绍多重实例 113

5.8.2 实现多重实例 114

5.8.3 群集配置中的多实例 115

5.8.4 与多实例通讯 116

5.8.5 性能考虑 116

5.9 集群SQL Server 2000服务器 117

5.9.1 Windows DNA 117

5.9.2 SQL Server集群和Windows DNA 118

5.9.3 介绍分割 118

5.9.4 集群的实现考虑 119

5.9.5 性能考虑 120

5.10 备份和恢复能力 121

5.10.1 影响备份策略的因素 121

5.10.2 复原模型 122

5.10.3 复原间隔 124

5.10.4 部分数据库恢复 124

5.10.5 标记事务 124

5.10.6 SQL Server怎样进行备份和恢复工作 125

5.10.7 备份和恢复操作的性能考虑 125

5.11 日志运送 126

5.11.1 日志运送介绍 127

5.11.2 配置日志运送 127

5.11.3 日志运送监控服务器 128

5.12 备用服务器 128

5.12.1 实现备用服务器 129

5.12.2 提升备用服务器为主服务器 129

5.13 SQL Server复制 129

5.14 小结 131

第6章 应用需要考虑的事项 132

6.1 应用设计考虑因素 132

6.2 正规化 132

6.2.1 正规化过程 133

6.2.2 需求评估 136

6.2.3 理解数据库设计选项 137

6.3 介绍索引 138

6.3.1 怎样访问数据 139

6.3.2 索引策略 140

6.4 索引组件 141

6.5 群集索引 142

6.6 不使用群集索引的表 143

6.7 群集索引的例子 143

6.8 非群集索引 144

6.9 群集索引存在时使用非群集索引的例子 145

6.10 群集索引被删除时非群集索引的例子 146

6.11 索引选择项 147

6.11.1 FILLFACTOR 147

6.11.2 PAD_INDEX 148

6.11.3 排序选项 149

6.12 建立索引 149

6.12.1 使用企业管理器创建索引 150

6.12.2 利用查询分析器建立索引 151

6.13 优化索引建立 151

6.14 复合索引 152

6.15 覆盖索引 153

6.16 索引视图 153

6.16.1 使用索引视图的时间 154

6.16.2 使用索引视图的策略 155

6.16.3 索引视图的建立 155

6.16.4 索引视图的限制 155

6.17 索引选择 157

6.18 理解索引选择性和密度 158

6.18.1 选择性 159

6.18.2 密度 159

6.19 影响查询性能的索引因素 160

6.19.1 统计 160

6.19.2 索引 161

6.19.3 视图 162

6.19.4 碎片 163

6.20 用于管理索引的工具 163

6.20.1 查询分析器和Graphical Showplan 163

6.20.2 SQL Server Profiler和Index Tuning Wizard 163

6.21 管理表、索引和统计的DBCC 164

6.21.1 DBCC SHOWCONTIG 164

6.21.2 DBCC INDEXDEFRAG 168

6.21.3 DBCC SHOW_STATISTICS 169

6.21.4 DBCC UPDATE STATISTICS 170

6.21.5 DBCC CREATE STATISTICS 171

6.21.6 DBCC DBREINDEX 172

6.22 小结 172

第Ⅲ部分 分析解决问题——调节和优化 177

第7章 使用Windows NT/2000工具进行性能调节 177

7.1 监控对象 177

7.2 建立基线 177

7.3 Windows NT/2000性能监控器 178

7.4 介绍性能监控器 178

7.5 性能监控选项 179

7.5.1 系统监控器/图表视图 179

7.5.2 警告视图 181

7.5.3 日志视图 184

7.5.4 报告能力—报告视图 187

7.6 监控每一个关键领域 188

7.7 理解CPU使用 188

7.7.1 改善性能的考虑 189

7.7.2 找出处理器性能问题的动作 190

7.7.3 判断是否是由于其他事情引起CPU瓶颈 190

7.7.4 把进程卸载到不同的服务器 190

7.7.5 增加额外的CPU资源 191

7.7.6 重新配置现有资源 191

7.8 了解磁盘使用 191

7.8.1 物理或者逻辑磁盘对象 192

7.8.2 Windows NT/2000对象——物理/逻辑磁盘 192

7.8.3 改善性能的考虑 193

7.9 理解页故障——内存对象 195

7.10 Windows NT/2000对象——进程 196

7.11 Windows NT/2000对象——线程 197

7.12 Windows NT/2000对象——网络 200

7.13 SQL Server对象 200

7.14 SQL Server默认性能监控工作空间文件 202

7.15 SQL Server对象——访问方法 202

7.16 SQL Server对象——备份设备 203

7.17 SQL Server对象——缓存管理器 204

7.18 SQL Server对象——高速缓存管理器 206

7.19 SQL Server对象——数据库 206

7.20 SQL Server对象——通用统计 208

7.21 SQL Server对象——锁 208

7.22 SQL Server对象——内存管理器 209

7.23 SQL Server对象——复制代理对象 210

7.24 SQL Server对象——复制分布对象 211

7.25 SQL Server对象——复制日志读取对象 211

7.26 SQL Server对象——复制合并对象 212

7.27 SQL Server对象——复制快照对象 212

7.28 SQL Server对象——统计 213

7.29 SQL Server对象——用户设置对象 213

7.30 使用Windows NT/2000控制面板监控性能 214

7.31 虚拟内存 214

7.32 应用响应 216

7.33 服务 217

7.33.1 WINDOWS NT V4服务 217

7.33.2 WINDOWS 2000服务 218

7.34 网络绑定 219

7.35 任务管理器 219

7.35.1 “应用”标签 220

7.35.2 “进程”标签 221

7.35.3 “性能”标签 222

7.36 系统信息/Windows NT诊断 222

7.37 小结 224

第8章 监控和配置SQL Server 225

8.1 介绍 225

8.2 “企业管理器” 225

8.2.1 “一般”标签 226

8.2.2 网络配置 230

8.2.3 SQL Server属性——“内存”标签 230

8.2.4 SQL Server属性——“处理器”标签 232

8.2.5 SQL Server属性——“数据库设置”标签 233

8.2.6 SQL Server属性——“服务器设置”标签 234

8.2.7 SQL Server属性——“连接”标签 234

8.2.8 SQL Server属性——“安全”标签 235

8.3 sp_configure 236

8.4 监控活动 244

8.5 Sp_monitor 244

8.6 查看和修改数据库选项 245

8.6.1 使用DATABASEPROPERTYEX查看数据库配置 245

8.6.2 改变数据库 247

8.6.3 数据库选项的性能考虑 249

8.6.4 Sp_dboption 250

8.7 管理SQL Server的配置 251

8.7.1 Sp_spaceused 251

8.7.2 sp_helpdb 252

8.8 监控用户活动 254

8.8.1 Sp_who 254

8.8.2 Sp_lock 255

8.8.3 锁模式定义 256

8.8.4 查看死锁 257

8.8.5 DBCC INPUTBUFFER 259

8.8.6 当前活动 259

8.9 监控和管理数据库完整性 261

8.9.1 DBCC CHECKDB 261

8.9.2 DBCC CHECKALLOC 263

8.9.3 DBCC CHECKCATALOG 264

8.9.4 DBCC CHECKFILEGROUP 265

8.9.5 DBCC CHECKTABLE 266

8.9.6 DBCC CLEANTABLE 267

8.9.7 DBCC UPDATEUSAGE 267

8.9.8 DBCC SQLPERF/PERFMON 267

8.9.9 DBCC SQLPERF(IOSTATS) 268

8.9.10 DBCC SQLPERF(LRUSTATS) 269

8.9.11 DBCC SQLPERF(NETSTATS) 270

8.9.12 DBCC SQLPERF(RASTATS) 271

8.9.13 DBCC SQLPERF(THREADS) 272

8.9.14 DBCC SQLPERF(LOGSPACE) 272

8.10 小结 273

第9章 自动化SQL Server任务 274

9.1 自动化SQL Server监控 274

9.2 数据库维护计划 274

9.2.1 建立一个数据库维护计划 275

9.2.2 更改和管理数据库维护计划 282

9.3 作业 287

9.3.1 查看作业状态 288

9.3.2 修改或者创建一个作业 289

9.3.3 步骤 290

9.3.4 日程 290

9.3.5 通知 291

9.4 警告 292

9.4.1 介绍警告 292

9.4.2 理解警告组件 292

9.5 建立警告 295

9.5.1 进行事件警告定义 295

9.5.2 定义警告响应 296

9.6 小结 298

第10章 SQL Server描述器 299

10.1 Server描述器简介 299

10.2 监测事件 300

10.3 事件类别 300

10.3.1 游标 300

10.3.2 数据库 302

10.3.3 出错和警告 302

10.3.4 锁 305

10.3.5 对象 306

10.3.6 性能 307

10.3.7 性能考虑 308

10.3.8 扫描 309

10.3.9 性能考虑 310

10.4 安全审核 310

10.4.1 服务器 313

10.4.2 对话 314

10.4.3 对话的性能考虑 315

10.4.4 存储过程 315

10.4.5 存储的性能考虑 316

10.4.6 事务 317

10.4.7 事务的性能考虑 317

10.4.8 TSQL 317

10.4.9 TSQL的性能考虑 318

10.4.10 用户可配置的 319

10.4.11 默认事件类 319

10.5 数据列 319

10.5.1 默认数据列 320

10.5.2 数据列分组 321

10.6 过滤器 321

10.7 一般追踪信息 322

10.8 示例追踪 324

10.9 创建一个追踪模板 325

10.10 创建追踪去捕获SQL Server的工作量 326

10.11 读追踪文件 329

10.12 重放 330

10.12.1 重放的几个必须条件——事件类 330

10.12.2 重放的几个必须条件——数据列 330

10.12.3 在不同系统上重放一个记录文件 331

10.12.4 重放选项 331

10.12.5 重放的注意事项 332

10.12.6 记录的执行步骤 333

10.13 小结 333

第11章 SQL Server查询分析器 334

11.1 查询分析器简介 334

11.2 执行SQL语句和命令 334

11.3 对象浏览器 335

11.4 按颜色编码更易使用 336

11.5 查看统计、CPU时间和执行概况 337

11.5.1 SET STATISTICS IO 337

11.5.2 SET STATISTICS TIME 340

11.5.3 SET STATISTICS PROFILE 340

11.6 执行索引分析 342

11.7 从查询分析器建立跟踪文件 343

11.8 在SQL Server Profiler中分析数据 344

11.9 ShowPlan和Graphical ShowPlan 344

11.10 用Graphical ShowPlan执行查询 344

11.11 了解Graphical ShowPlan 345

11.12 性能因素 346

11.12.1 连接策略和顺序 347

11.12.2 书签查阅 347

11.12.3 聚群集化索引扫描 347

11.12.4 {AND|OR|AND NOT|OR NOT}存在嵌套迭代 347

11.12.5 索引搜索 347

11.12.6 索引扫描 347

11.12.7 标量聚集 348

11.12.8 排序 348

11.12.9 表扫描 348

11.12.10 (在工作表中)的查询类型是Select 348

11.12.11 更新模式是{直接|延迟} 348

11.12.12 使用GETSORTED表扫描 348

11.12.13 使用动态索引 348

11.12.14 向量聚集 349

11.13 WITH CHECK OPTION 349

11.13.1 工作表n 349

11.13.2 为DISTINCT创建的工作表 349

11.13.3 为ORDER BY创建的工作表 349

11.13.4 为重新格式化创建的工作表 349

11.14 解释节点信息 349

11.15 读取红色标志 352

11.16 创建丢失的统计信息 352

11.17 管理统计信息 353

11.18 管理索引 354

11.19 重新执行查询 354

11.20 对成功的调整分析进行校验 355

11.21 小结 355

第12章 索引调节向导 356

12.1 介绍索引调节向导 356

12.2 使用索引调节向导 357

12.2.1 选择服务器和数据库 357

12.2.2 确定工作任务 358

12.2.3 高级选项 359

12.3 选择需要调节的表 360

12.4 索引调节推荐 361

12.5 索引调节向导推荐方案分析 361

12.5.1 索引使用报告(推荐配置) 361

12.5.2 索引使用报告(当前配置) 362

12.5.3 查询——索引关系报告(推荐配置) 363

12.5.4 查询——索引关系报告(当前配置) 364

12.5.5 视图——表关系报告 364

12.5.6 表分析报告 365

12.5.7 查询开销报告 366

12.5.8 工作分析报告 367

12.5.9 调节总结报告 368

12.6 实施推荐 368

12.7 对脚本文件的评价 369

12.8 建议 372

12.8.1 备份数据库 373

12.8.2 定义和建立一个有代表性的工作任务 373

12.8.3 在非高峰时间内利用索引调节向导分析工作任务 373

12.8.4 执行索引调节向导 373

12.8.5 利用索引调节向导进行重新分析,并解决提出的新的建议 373

12.8.6 备份数据库,重建有代表性的工作任务,并且重新分析工作任务 373

12.9 小结 374

附录A 资源 375

附录B CD的内容 376

返回顶部