
《深入解析SQL Server 2008》
文章平均质量分 90
《Microsoft SQL Server 2008 Internals》,中文名是《深入解析Microsoft Sql server 2008》,由于邀月拿到的是英文版,所以一边看,一边查字典,顺便把一些理解记下来,翻译或理解不对之处,敬请指出。3w@love.cn。欢迎交流。
downmoon
浙江大学(项目管理方向)工程硕士,PMP,微软MVP获得者。十年以上.NET、架构设计、数据库开发经验,十年以上项目管理经验、从事多个垂直行业、零售流通领域多年。欢迎交流。
展开
-
《Microsoft SQL Server 2008 Internals》读书笔记--目录索引
最近断断续续看《Microsoft SQL Server 2008 Internals》,中文名是《深入解析Microsoft Sql server 2008》,由于邀月拿到的是英文版,所以一边看,一边查字典,顺便把一些理解记下来,翻译或理解不对之处,敬请指出。3w@love.cn。欢迎交流。兼以本文作为目录索引及序。读书笔记订阅地址:http://blog.youkuaiyun.com/downmoon/原创 2010-01-26 08:36:00 · 11472 阅读 · 15 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(11)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 ■DBCC CHECKDB之外的一致性检查命令,包含:DBCC CHECKALLOC,DBCC CHECKTABLE,DBCC CHECKFILEGROUP,DBCC CHECKCATALOG,DBCC CHECKID原创 2010-08-04 19:57:00 · 2963 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(9)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 ■ DBCC CHECKED输出DBCC CHECKED用四种方式输出信息:◆常规输出,由一个错误的信息和邮件组成的列表指向发布DBCC CHECKDB命令的连接。◆SQL Server 错误日志的一条信息◆Wind原创 2010-08-04 16:48:00 · 2994 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(8)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引前面几篇主要介绍了per-table一致性检查,本文我们关注交叉表的一致性检查,主要包括:Service Broker一致性检查,交叉目录(cross-catalog)一致性检查,索引视图一致性检查,XML索引一致性检查原创 2010-08-03 00:48:00 · 2273 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(6)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上篇关注元数据一致性检查、页审核、数据和索引页处理;本文我们继续了解per-table逻辑一致性检查,将继续关注:列处理、文本页处理。 ■Per-Table逻辑一致性检查(中)■列处理对于数据和索引记录,每一列按类别处理原创 2010-08-03 00:45:00 · 1703 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(5)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 上文简单介绍了原始的系统目录一致性检查和分配的一致性检查。本文我们继续了解per-table逻辑一致性检查。这部分内容较多,分为上中下三篇:上篇关注元数据一致性检查、页审核、数据和索引页处理;中篇关注:列处理、文本页处原创 2010-08-03 00:42:00 · 2049 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(4)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 从本文开始,我们了解几种类型的一致性检查,先来看两个:原始的系统目录一致性检查和分配的一致性检查。 ■原始的系统目录一致性检查在SQL Server 2008中,存储引擎定义了三类系统目录:◆ sys.sysallo原创 2010-08-02 13:26:00 · 1938 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(3)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍有效处理数据库的几个方法:事实生成、使用查询处理器。本文关注批处理、读取数据页到进程和并行机制。■批处理在per-table逻辑检查期间,DBCC CHECKED通常并不同时处理数据库所有的表,也通常不会在某原创 2010-07-28 00:20:00 · 2310 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(2)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文简要介绍了获取一个持久视图、磁盘空间冲突和使用数据库快照的替代方案,本文将关注有效处理数据库的几个方法:事实生成、使用查询处理器、批处理、读取数据页到进程和并行机制。一个数据库可以看作一个巨大的、用所有表指示后一节点原创 2010-07-22 22:30:00 · 2107 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(1)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引当任何人提到检查一个SQL Server数据库的一致性时,头脑中的第一反应该是“DBCC”。在SQL Server 7.0中,DBCC代表数据库一致性检查,但在随后版本,SQL Server 2000中,微软改变了定义,原创 2010-07-20 08:11:00 · 2232 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(11)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引本文将继续关注计划向导的后半部分,包括:计划指南的管理、计划指南的考虑因素、计划指南的有效性、从计划缓存中冻结计划。这也是计划缓存和重编译的最后一节。 ■管理计划指南 除了sp_Create_plan_guide和sp原创 2010-07-20 00:39:00 · 1879 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(10)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍计划缓存的时机和计划缓存冲突。本文将继续关注计划指南(Plan Guide)和优化指示(Optimization Hints),由于篇幅所限,计划指南分两部分,第一部分包括:优化提示、计划指南的意图、计划指南原创 2010-07-17 23:57:00 · 2218 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(9)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍了缓存大小管理、缓存项的成本(Costing of Cache entries),本文我们继续关注计划缓存的时机和计划缓存冲突。 ■缓存里的多计划 SQL Server尽量限制一个查询或一个过程的计划的数量原创 2010-07-15 23:28:00 · 2473 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(8)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍了已编译计划、执行上下文和计划缓存元数据相关的几个常用的系统函数,并介绍了几个葵花宝典级的调优语句。本文将继续关注缓存大小管理、缓存项的成本(Costing of Cache entries) ■缓存大小管理原创 2010-07-13 00:26:00 · 2370 阅读 · 6 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(7)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文我们了解计划缓存内部操作的第一部分-缓存存储。今天我们继续关注已编译计划、执行上下文和计划缓存元数据相关的几个非常有用的系统函数和视图。■已编译计划(Compiled Plans)在Object和SQL计划缓存存储中原创 2010-07-11 23:28:00 · 2442 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(6)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文我们了解编译对象和重编译的起因:Correctness-Based Recompiles,Optimality-based Recompiles。今天我们继续关注如何从缓存中移除计划和计划缓存内部操作。■从缓存原创 2010-07-10 10:17:00 · 2000 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(5)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上 文我们了解编译对象和重编译的起因之一:Correctness-Based Recompiles(基于更正的重编译),现在我们继续了解重编译的另一个起因:Optimality-based Recompiles(基于优化原创 2010-07-06 19:50:00 · 2422 阅读 · 3 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(4)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文我们了解简单参数化查询的不足和预查询(Prepared Queries),现在我们了解编译对象和重编译的原因。■编译对象(Complied Objects)存储过程存储过程和用户自定义标量函数几乎一样。 元数据表明o原创 2010-07-04 21:05:00 · 1745 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(3)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 前文主要提到简单参数化和强制参数化。下面我们继续了解简单查询的不足和预查询(Prepared Queries)■简单查询的不足(Drawbacks of Simple Parameterization)在前面的查询输出原创 2010-07-03 02:33:00 · 1709 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(2)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引在这一节,我们将继续关注Adhoc和参数化■Adhoc混合负载的优化如果你的查询大多数是临时(adhoc)的,从来不会被重用,似乎浪费内存去缓存这些计划了。SQL Server 2008增加了一个配置选项在这种情况下也能原创 2010-07-01 23:29:00 · 2605 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(1)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引通过第八章的查询优化,我们大致了解SQL Server中的查询优化进程及查询执行的一些细节。因为查询优化通常是复杂和耗时的进程,SQL Server频频受益于重用已经生成并保存在计划缓存中的查询计划,而不是每次都产生一个原创 2010-06-29 23:53:00 · 2071 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(10)
《Microsoft Sql server 2008 Internal》读书笔记--目录索引今天我们继续学习三个有关计划更新的概念:Halloween Protection、Split/Sort/Collapse和Merge■Halloween Protection(Halloween保护,万圣节面具?呵呵) Halloween保护描述了关系数据库中用于保证更新计划正确性的一种功能。这个功能的需原创 2012-04-07 15:02:00 · 3127 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(9)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 本文继续关注分区表(Partitioned Tables) 和数据仓库(Data Warehousing) SQL Server 2005针对分区表的并行查询的执行有一个局限性。APPLY操作符的使用在对扫描每个交互原创 2010-06-29 12:20:00 · 1807 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(8)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 本文继续了解索引视图(Indexes View) 关于索引视图的基本概念,可以在MSDN了解:http://msdn.microsoft.com/zh-cn/library/ms188783.aspx 注意:虽然索引视原创 2010-06-24 01:02:00 · 2397 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(7)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引前几篇主要介绍了查询结构优化中的几个关键概念:统计(Statistics)、基准估计(Cardinality estimation)和成本(costing) ,今天开始真正进入主题:今天我们关注的是:索引选择■Index原创 2010-06-21 23:56:00 · 2035 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(6)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上篇主要介绍了筛选统计和字符串统计、基线估计,本文将关注Limitation和Costing■限制(limitation) SQL Server的基线估计通常是很棒的。不幸的是,制作一个适合所有应用程序的每一个查询的完美原创 2010-06-20 15:01:00 · 1677 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(5)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上篇主要列举了统计的概念和统计的设计、统计的浓度。本文将关注筛选统计和字符串统计、基准估计。 ■筛选统计 作为SQL Server 2008中新增的筛选索引的一部分,筛选统计功能被加入。这意味着(某个基于筛选谓词的表原创 2010-06-20 01:28:00 · 1788 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(4)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上篇介绍了架构优化,下来我们一起了解几个非常重要的概念:统计(Statistics)、基线评估(Cardinality estimation)和成本(costing) 查询优化器评估每个操作的成本,决定采用哪个计划。这个原创 2010-06-06 18:10:00 · 2726 阅读 · 5 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(3)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍了查询可选计划的存储和操作符如(计算标量、计算序列 等)。现在我们继续来了解优化架构。查询优化器包含了许多执行特定功能的优化的相(phase)。不同的Phase帮助查询优化器在优化进程的最早阶段“最高值”的操原创 2010-05-16 16:55:00 · 2390 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(2)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍了查询优化的入门基础和查询优化器如何浏览查询计划中的规则和属性。现在我们继续来了解查询可选计划的存储和操作符如(计算标量、计算序列等)。■可选计划的存储-the "Memo"查询优化器包含一种避免存储重复信息原创 2010-05-16 07:08:00 · 1889 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(1)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引SQL Server内置的查询优化器负责对一个给定的SQL语句执行判断作出最合理的查询计划。因为查询优化器并没有过多的内容展示于外界,因此不像SQL引擎中的其他组件那样为人熟知。第八章(The Query Optimiz原创 2010-05-12 00:23:00 · 2436 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第七章Special Storage(6)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 这一节我们继续了解稀疏列的物理存储。 ■物理存储在某种角度上,你可以稀疏列作为存储,同时使用列集显示。如此,没有值的特殊列,它不会被列出,也不会占用空间;但有值的稀疏列比正常的null列得花费更多的空间。用non-s原创 2010-05-09 13:03:00 · 1734 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第七章Special Storage(5)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文简单介绍了 filestream数据存储和修改的一些特性。下面我们来继续了解SQL Server 2008中新增的稀疏列(sparse column),它可以看作是对Null值作了优化存储的普通列。稀疏列削减了针对n原创 2010-05-09 07:36:00 · 1844 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第七章Special Storage(4)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文简单介绍了filestream数据的基础,本文继续了解FileStream的一些特性。 ■ 更新FileStream数据当使用Updte修改一个fileStream列时,包含数据的文件被修改,文件相应增加或减少。特原创 2010-05-08 00:24:00 · 2444 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第七章Special Storage(3)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文简单介绍了不限长度的Large Object Data存储形式,以及存储在数据行的LOB数据。本文简要介绍MAX-Length数据及添加数据到LOB列的存储,另外主要介绍filestream数据的基础。■MAX-Le原创 2010-05-06 08:01:00 · 2275 阅读 · 4 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第七章Special Storage(2)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文简单介绍了限制长度的Large Object Data存储形式,本文将介绍不限长度的Large Object Data存储形式。■不限长度的大对象数据 如果一个表包含老的数据类型如text/ntext/image等原创 2010-05-03 23:40:00 · 2276 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第七章Special Storage(1)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引第五章《Table》和第六章《Indexes:Internals and Management》我们主要讨论了“规则行”在表和索引中的存储机制,第五章中我们了解到规则行是以“固定变量”的格式存储,SQL Server原创 2010-05-03 12:04:00 · 2440 阅读 · 4 评论 -
《Microsoft Sql server 2008 Internal》读书笔记--第六章Indexes:Internals and Management(10)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 前一节主要介绍了索引的更新机制和索引的转向指针,以及更新的位置和修改单个行(或单索引对应的若干行)。如果你修改单个操作(Insert,update,Delete)或使用(BCP、BLUK Insert)命令的多行,而原创 2012-03-14 16:09:16 · 3490 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第六章Indexes:Internals and Management(9)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引前面我们主要了解Inserting/Deleting Rows 时SQL Server的内部存储机制,这一篇我们来看看Update Rows的内部机制。■Update RowsSQL Server更新行有多种方式,自动并原创 2010-04-16 08:51:00 · 2440 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第六章Indexes:Internals and Management(8)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 ■Deleting Rows上一篇我们主要了解Inserting Rows 时SQL Server的内部存储机制,这一篇我们来看看Deleting Rows的内部机制。当你从一个表中删除行时,你必须考虑数据页和索引原创 2010-03-25 15:04:00 · 1812 阅读 · 0 评论