沃新书屋 - 深入解析SQL Server 2008
本书资料更新时间:2025-05-12 02:35:22

深入解析SQL Server 2008

深入解析SQL Server 2008精美图片

深入解析SQL Server 2008书籍详细信息


内容简介:

《深入解析SQL Server 2008》全面探讨了SQL Server 2008的内部工作原理。全书共分为11章,首先在第1章中详细介绍了SQL Server 2008的架构和配置,然后在接下来的10个章节中深入探讨了SQL Server 2008数据存储和查询处理等各个方面的内部机制,包括:数据库和数据库文件、表、索引、跟踪、日志记录和恢复、特殊存储、查询优化、计划缓存和重新编译、事务和并发、DBCC等。《深入解析SQL Server 2008》还有一个网站,上面有本书额外的第12章“查询执行”、本书的所有代码及其他工具和脚本。 《深入解析SQL Server 2008》由知识丰富的资深专家和数位具有多年产品使用经验的讲师联手打造,是一本关于SQL Server工作原理的权威参考指南,不管您是数据库开发人员、架构师,还是数据库管理员,都可以从阅读本书中获益。

书籍目录:

目录 第1章 SQL Server 2008架构和配置 1 1.1 SQL Server版本 1 1.2 SQL Server元数据 2 1.2.1 兼容性视图 2 1.2.2 目录视图 3 1.2.3 其他元数据 4 1.3 SQL Server引擎组件 6 1.3.1 观察引擎行为 7 1.3.2 协议 8 1.3.3 关系引擎 9 1.3.4 存储引擎 10 1.4 SQLOS 13 1.5 计划程序 14 1.5.1 SQL Server工作线程 15 1.5.2 将计划程序绑定到CPU中 17 1.5.3 专用管理员连接(DAC) 20 1.6 内存 21 1.6.1 缓冲池与数据缓存 21 1.6.2 访问内存中的数据页 21 1.6.3 管理数据缓存中的页面 22 1.6.4 可用缓冲区列表和惰性编写器 22 1.6.5 检查点 23 1.6.6 管理其他缓存中的内存 24 1.6.7 调节内存大小 25 1.6.8 调节缓冲池大小 26 1.7 服务器资源调控器 30 1.7.1 资源调控器概述 30 1.7.2 资源调控器控制 37 1.7.3 资源调控器元数据 38 1.8 SQL Server 2008配置 39 1.8.1 使用SQL Server配置管理器 39 1.8.2 配置网络协议 39 1.8.3 默认的网络配置 39 1.8.4 管理服务 40 1.9 SQL Server系统配置 41 1.9.1 操作系统配置 41 1.9.2 跟踪标记 43 1.10 服务器配置设置 43 1.11 小结 52 第2章 更改跟踪、跟踪和扩展事件 53 2.1 基础知识:触发器和事件通知 53 2.1.1 运行时触发器行为 53 2.2 更改跟踪 54 2.2.1 更改跟踪配置 54 2.2.2 更改跟踪的运行时行为 57 2.3 跟踪和事件探查 60 2.3.1 SQL跟踪架构和术语 61 2.3.2 安全性和权限 62 2.3.3 Profiler入门 63 2.3.4 服务器端跟踪和收集 70 2.4 扩展事件 78 2.4.1 XE体系结构的组件 79 2.4.2 事件会话 86 2.4.3 扩展事件DDL和查询 88 2.5 小结 91 第3章 数据库和数据库文件 92 3.1 系统数据库 92 3.1.1 master 93 3.1.2 model 93 3.1.3 tempdb 93 3.1.4 资源数据库 93 3.1.5 msdb 94 3.2 样例数据库 94 3.2.1 AdventureWorks 94 3.2.2 pubs 95 3.2.3 Northwind 95 3.3 数据库文件 95 3.4 创建数据库 97 3.4.1 CREATE DATABASE例子 99 3.5 扩展或收缩数据库 99 3.5.1 自动文件扩展 100 3.5.2 手动文件扩展 100 3.5.3 快速文件初始化 100 3.5.4 自动收缩性 100 3.5.5 手动收缩 101 3.6 使用数据库文件组 102 3.6.1 默认文件组 102 3.6.2 FILEGROUP CREATION例子 103 3.6.3 文件流文件组 104 3.7 修改数据库 105 3.7.1 ALTER DATABASE例子 106 3.8 数据库剖析 107 3.8.1 空间分配 107 3.9 设置数据库选项 110 3.9.1 状态选项 112 3.9.2 游标选项 114 3.9.3 自动选项 115 3.9.4 SQL选项 115 3.9.5 数据库恢复选项 116 3.9.6 其他数据库选项 117 3.10 数据库快照 117 3.10.1 创建数据库快照 118 3.10.2 数据库快照使用的空间 119 3.10.3 管理快照 120 3.11 tempdb数据库 121 3.11.1 tempdb中的对象 121 3.11.2 tempdb中的优化 122 3.11.3 **佳实践 123 3.11.4 tempdb空间监视 124 3.12 数据库安全性 124 3.12.1 数据库访问 125 3.12.2 管理数据库安全性 126 3.12.3 数据与架构 127 3.12.4 主体与架构 127 3.12.5 默认架构 128 3.13 移动或复制数据库 128 3.13.1 分离和重新附加数据库 128 3.13.2 备份和还原数据库 130 3.13.3 移动系统数据库 130 3.13.4 移动master数据库 131 3.14 兼容性级别 131 3.15 小结 132 第4章 日志记录和恢复 133 4.1 事务日志基础 133 4.1.1 恢复阶段 134 4.1.2 读日志 137 4.2 更改日志大小 137 4.2.1 虚拟日志文件 137 4.2.2 观察虚拟日志文件 138 4.2.3 自动截断虚拟日志文件 141 4.2.4 维护可恢复日志 142 4.2.5 自动压缩日志 144 4.2.6 日志文件大小 145 4.3 备份和还原数据库 145 4.3.1 备份类型 145 4.3.2 恢复模型 146 4.3.3 选择备份类型 149 4.3.4 还原数据库 150 4.4 小结 154 第5章 表 155 5.1 创建表 155 5.1.1 命名表和列 156 5.1.2 保留关键字 157 5.1.3 分隔标识符 157 5.1.4 命名约定 158 5.1.5 数据类型 158 5.1.6 关于NULL 178 5.2 用户定义数据类型 180 5.3 IDENTITY属性 181 5.4 内部存储 184 5.4.1 sys.indexes目录视图 185 5.4.2 数据存储元数据 186 5.4.3 数据页 189 5.4.4 检查数据页 190 5.4.5 数据行的结构 193 5.4.6 查找一个物理页面 195 5.4.7 固定长度行的存储 197 5.4.8 可变长度行的存储 199 5.4.9 日期和时间数据的存储 204 5.4.10 sql_variant数据的存储 206 5.5 约束 209 5.5.1 约束名称和目录视图信息 210 5.5.2 视图和多行数据修改中出现的约束故障 211 5.6 修改表 212 5.6.1 更改数据类型 212 5.6.2 添加一个新列 213 5.6.3 添加、删除、禁用或启用约束 213 5.6.4 删除列 214 5.6.5 启用或禁用一个触发器 215 5.6.6 修改表的内部 215 5.7 堆修改内部 217 5.7.1 分配结构 217 5.7.2 插入行 218 5.7.3 删除行 219 5.7.4 更新行 221 5.8 小结 224 第6章 索引:内部和管理 225 6.1 概述 225 6.1.1 SQL Server索引B树 226 6.2 分析索引的工具 228 6.2.1 使用dm_db_index_physical_stats动态管理视图 228 6.2.2 使用DBCC ID 231 6.3 理解索引结构 233 6.3.1 聚集键的依赖关系 234 6.3.2 非聚集索引 236 6.3.3 约束和索引 236 6.4 索引创建选项 237 6.4.1 IGNORE_DUP_KEY 238 6.4.2 STATISTICS_NORECOM PUTE 238 6.4.3 MAXDOP 238 6.4.4 索引放置 238 6.4.5 约束和索引 239 6.5 物理索引结构 239 6.5.1 索引行格式 239 6.5.2 聚集索引结构 240 6.5.3 聚集索引的非叶级 241 6.5.4 分析聚集索引结构 241 6.5.5 非聚集索引结构 246 6.6 特殊索引结构 255 6.6.1 计算列上的索引和索引视图 255 6.6.2 全文索引 262 6.6.3 空间索引 262 6.6.4 XML索引 262 6.7 数据修改的内部 263 6.7.1 插入行 263 6.7.2 拆分页 264 6.7.3 删除行 267 6.7.4 更新行 272 6.7.5 表级数据修改与索引级数据修改 275 6.7.6 日志记录 276 6.7.7 锁定 276 6.7.8 碎片 276 6.8 管理索引结构 277 6.8.1 删除索引 277 6.8.2 ALTER INDEX 278 6.8.3 检测碎片 279 6.8.4 删除碎片 280 6.8.5 重建索引 282 6.9 小结 284 第7章 特殊存储 285 7.1 大型对象存储 285 7.1.1 长度受限的大型对象数据(行溢出数据) 285 7.1.2 不限长度大型对象数据 289 7.1.3 最大长度数据的存储 294 7.2 文件流数据 295 7.2.1 为SQL Server启用文件流数据 295 7.2.2 创建一个启用文件流的数据库 296 7.2.3 创建一张表存储文件流数据 297 7.2.4 操纵文件流数据 298 7.2.5 文件流数据的元数据 302 7.2.6 文件流数据性能方面的考虑 304 7.3 稀疏列 305 7.3.1 稀疏列的管理 305 7.3.2 列集和稀疏列操作 307 7.3.3 物理存储 309 7.3.4 元数据 311 7.3.5 利用稀疏列节省存储空间 312 7.4 数据压缩 315 7.4.1 Vardecimal 315 7.4.2 行压缩 315 7.4.3 页压缩 322 7.5 表和索引分区 329 7.5.1 分区函数和分区方案 330 7.5.2 分区的元数据 331 7.5.3 分区的滑动窗口优势 334 7.6 小结 336 第8章 查询优化器 337 8.1 概述 337 8.1.1 树格式 337 8.2 什么是优化 338 8.3 查询优化器如何研究查询计划 339 8.3.1 规则 339 8.3.2 属性 339 8.3.3 替代项的存储——“备注” 341 8.3.4 运算符 341 8.4 优化器架构 346 8.4.1 优化之前 347 8.4.2 简化 347 8.4.3 琐碎计划/自动参数化 347 8.4.4 限制 348 8.4.5 备注——有效地探索多项计划 349 8.5 统计信息、基数估计和开销 350 8.5.1 统计信息设计 351 8.5.2 密度/频度信息 353 8.5.3 筛选的统计信息 355 8.5.4 字符串统计信息 356 8.5.5 基数估计细节 356 8.5.6 限制 359 8.5.7 成本计算 360 8.6 索引选择 361 8.6.1 筛选索引 363 8.6.2 索引视图 365 8.7 分区表 369 8.7.1 分区对齐索引视图 372 8.8 数据仓库 372 8.9 更新 372 8.9.1 Halloween保护 375 8.9.2 拆分/排序/折叠 375 8.9.3 合并 377 8.9.4 大范围更新计划 379 8.9.5 稀疏列更新 381 8.9.6 分区更新 381 8.9.7 锁定 384 8.10 分布式查询 385 8.11 扩展的索引 387 8.11.1 全文索引 387 8.11.2 XML索引 387 8.11.3 空间索引 388 8.12 计划提示 389 8.12.1 调试计划问题 389 8.12.2 {HASH|ORDER}GROUP 391 8.12.3 {MERGE|HASH|CONCAT}UNION 391 8.12.4 FORCE ORDER, {LOOP|MERGE|HASH} JOIN 391 8.12.5 INDEX=| 392 8.12.6 FORCESEEK 392 8.12.7 FAST 393 8.12.8 MAXDOP 393 8.12.9 OPTIMIZE FOR 393 8.12.10 PARAMETRIZATION {SIMPLE|FORCED} 395 8.12.11 NOEXPAND 395 8.12.12 USE PLAN 395 8.13 小结 397 第9章 计划缓存和重新编译 398 9.1 计划缓存 398 9.1.1 计划缓存元数据 398 9.1.2 清除计划缓存 399 9.2 缓存机制 399 9.2.1 即席查询缓存 400 9.2.2 即席工作负荷优化 402 9.2.3 简单参数化 404 9.2.4 已准备查询 408 9.2.5 已编译对象 410 9.2.6 重新编译的原因 412 9.3 计划缓存内部 420 9.3.1 缓存存储 420 9.3.2 编译计划 421 9.3.3 执行上下文 422 9.3.4 计划缓存元数据 422 9.3.5 句柄 422 9.3.6 sys.dm_exec_sql_text 423 9.3.7 sys.dm_exec_query_plan 424 9.3.8 sys.dm_exec_text_query_plan 424 9.3.9 sys.dm_exec_cached_plans 425 9.3.10 sys.dm_exec_cached_plan_dependent_objects 425 9.3.11 sys.dm_exec_requests 425 9.3.12 sys.dm_exex_query_stats 426 9.3.13 缓存大小管理 426 9.3.14 缓存项的成本 429 9.4 计划缓存中的对象:概况 429 9.5 缓存中的多个计划 431 9.6 何时使用存储过程和其他缓存机制 432 9.7 计划缓存问题故障排除 432 9.7.1 等待统计信息表明存在计划缓存问题 432 9.7.2 其他缓存问题 434 9.7.3 处理编译和重新编译问题 434 9.7.4 计划指南和优化提示 435 9.8 小结 444 第 10章 事务和并发性 445 10.1 并发模型 445 10.1.1 悲观并发 445 10.1.2 乐观并发 445 10.2 事务处理 446 10.2.1 ACID属性 446 10.2.2 事务依赖性 447 10.2.3 隔离级别 448 10.3 锁定 451 10.3.1 锁定基础 451 10.3.2 旋转锁 452 10.3.3 用户数据的锁类型 452 10.3.4 锁模式 452 10.3.5 锁粒度 455 10.3.6 锁的持续时间 460 10.3.7 锁的所有权 460 10.3.8 查看锁 461 10.3.9 锁定示例 463 10.4 锁兼容性 468 10.5 锁定内部架构 469 10.5.1 锁分区 470 10.5.2 锁块 471 10.5.3 锁所有者块 472 10.5.4 syslockinfo表 472 10.6 行级别锁与页级别锁 475 10.6.1 锁升级 475 10.6.2 死锁 477 10.7 行版本控制 480 10.7.1 行版本控制概述 480 10.7.2 行版本控制细节 481 10.7.3 基于快照的隔离级别 481 10.7.4 选择并发模型 496 10.8 控制锁定 497 10.8.1 锁提示 497 10.8.2 设置锁超时 499 10.9 小结 500 第 11章 DBCC揭秘 501 11.1 获得数据库的一致性视图 502 11.1.1 获得一致性视图 502 11.2 有效地处理数据库 504 11.2.1 事实生成 505 11.2.2 使用查询处理器 506 11.2.3 批处理 508 11.2.4 读取要处理的页 509 11.2.5 并行性 509 11.3 早期的系统目录一致性检查 511 11.4 分配一致性检查 512 11.4.1 收集分配事实 512 11.4.2 检查分配事实 513 11.5 按表进行逻辑一致性检查 514 11.5.1 元数据一致性检查 515 11.5.2 页审核 516 11.5.3 数据和索引页处理 518 11.5.4 列处理 519 11.5.5 文本页处理 522 11.5.6 跨页一致性检查 523 11.6 跨表一致性检查 532 11.6.1 Service Broker一致性检查 532 11.6.2 跨目录一致性检查 533 11.6.3 索引视图一致性检查 533 11.6.4 XML索引一致性检查 534 11.6.5 空间索引一致性检查 534 11.7 DBCC CHECKDB输出 535 11.7.1 标准输出 535 11.7.2 SQL Server错误日志输出 537 11.7.3 应用程序事件日志输出 538 11.7.4 进度报告输出 538 11.8 DBCC CHECKDB选项 539 11.8.1 NOINDEX 540 11.8.2 修复选项 540 11.8.3 ALL_ERRORMSGS 540 11.8.4 EXTENDED_LOGICAL_CHECKS 541 11.8.5 NO_INFOMSGS 541 11.8.6 TABLOCK 541 11.8.7 ESTIMATEONLY 541 11.8.8 PHYSICAL_ONLY 542 11.8.9 DATA_PURITY 542 11.9 数据库修复 542 11.9.1 修复机制 543 11.9.2 紧急模式修复 544 11.9.3 哪些数据可以由修复删除 545 11.10 除DBCC CHECKDB之外的一致性检查命令 545 11.10.1 DBCC CHECKALLOC 546 11.10.2 DBCC CHECKTABLE 547 11.10.3 DBCC CHECKFILEGR OUP 547 11.10.4 DBCC CHECKCATALOG 547 11.10.5 DBCC CHECKIDENT 548 11.10.6 DBCC CHECKCONSTRAINTS 548 11.11 小结 548

作者简介:

Kalen Delanev自1993年起就是微软SQL Server的MVP,她为全世界的客户提供高级SQL Server培训、她是《SQL Server Magazine》的特约编辑和专栏作家,也是几本读者推崇的书籍的作者,包括《Inside Microsoft SQL Server 2005:The Storage Engine》和《Inside Microson SQL Server 2005:Query Tuning and Optimization》。 Paul S.Randal微软MVP、培训师和TechNet Magazine的特约编辑。Kimberly L.Tripp是微软MVP、培训师和《SQL Server Magazine》的特约编辑。 Conor Cunninqham微软SQL Server Core Engine团队的首席架构师。 Adam Machanic MCITP、微软MVP、讲师,几本SQL Server书籍的合著者。 Ben Nevarez从6.5版本开始使用SQL Server,是高级数据库管理员。

其它内容:

暂无其它内容!


下载点评

  • 模糊(483+)
  • 破损(228+)
  • 珍藏(1431+)
  • 惊喜(868+)
  • 重排(178+)
  • TXT(258+)
  • 可打印(864+)
  • 经典(937+)
  • PDF(431+)
  • 超预期(396+)
  • 缺页(835+)
  • 考研(639+)
  • 强推(496+)
  • 相见恨晚(408+)
  • 感谢(239+)
  • 多格式(853+)
  • 多终端(267+)
  • 原版(441+)
  • 最新(177+)

下载评论

  • 用户1742210849: ( 2025-03-17 19:27:29 )

    流畅下载PDF/MOBI文件,完整小说推荐收藏,操作便捷。

  • 用户1733919173: ( 2024-12-11 20:12:53 )

    流畅下载PDF/AZW3文件,精校期刊推荐收藏,操作便捷。

  • 用户1723509646: ( 2024-08-13 08:40:46 )

    图文功能搭配MOBI/AZW3格式,无损数字阅读体验,操作便捷。

  • 用户1730631404: ( 2024-11-03 18:56:44 )

    多格式版电子书下载极速,支持PDF/EPUB格式导出,操作便捷。

  • 用户1716308851: ( 2024-05-22 00:27:31 )

    无损版本期刊资源,PDF/MOBI格式适配各种阅读设备,资源优质。


相关书评

暂时还没有人为这本书评论!


以下书单推荐