<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
SQL Server 最重要的著作若论微软 SQL Server 最重要著作,大概非 Inside SQL Server 系列丛书莫属了,从 SQL Server 6.5 以来,一直常驻在专业 SQL Server DBA 案头的,就是对应各版本的这本书。这不是笔者的妄加赞誉,而是素有信息界诺贝尔奖称呼的图灵奖(Turing Award)得主 Jim Gray 在该书的序言所说的。
笔者本身也以读过该书,代表进入了该版本的世界(例如要熟悉 SQL Server 2000,先读 Inside SQL Server 2000),以此为深入了解 SQL Server 的指标。而值此年终之际,稍有空闲时日,能专心拜读此书实是精通 SQL Server 的最佳方式J
由于 SQL Server 2005 大幅改版,大量地新增功能,让以往出书速度还蛮快的 Inside SQL Server 系列;这次叫大家从 SQL Server 2005 上市后等了一年。也由于功能繁多,原本极为厚重的 Inside SQL Server 再也无法以单行本出书,而改为四本合集的系列丛书。在此介绍其中的一本「Inside Microsoft SQL Server 2005 : The Storage Engine」,执笔者为先前 Inside SQL Server 各版本的作者 Kalen Delaney,在此次 Inside 系列讨论 SQL Server 2005 的四本书中,她改任系列编辑(Series Editor),并于本书担任作者。
一翻开书籍前页,看到 Kalen Delaney 的致谢,立即对本书的严谨要求与参与人力叹为观止。大概很少书是原厂产品团队派一群人伺候,提供技术咨询还要兼审稿,外加微软出版社的编辑审稿,并有作者所在公司同事的襄助。或许,讨论 SQL Server 这类大型产品的书籍还真需要人脉广,经验足才能撰写。
笔者长年在各企业间解决 SQL Server 的问题,例如功能不会用、效能不佳、不稳、不安全等,深觉最主要的原因是用户对产品的了解不够。尤其一般使用者存有误解,以为 SQL Server 不需要专业的学习与管理,像 Office 等产品,随意架设使用。若执行起来效能不佳,便认定产品本身的能力不足。其实不然,SQL Server 在台湾,乃至于世界各地都已经进入企业的关键系统,数以兆(tera)计的数据量比比皆是。而我们所欠缺的是深入的知识与经验,以发挥 SQL Server 所提供的各种功能。此书便是钻研 SQL Server 设计原理的最佳管道。
数据库引擎之堂奥
相信久用数据库的管理与开发人员大都熟悉数据库、数据表或索引的建置,交易的管理,但 SQL Server 数据库储存引擎(Storage Engine)实际如何完成你的要求,却讳莫如深。这本书将让你知其然也知其所以然。
书中除了解释设计理念与运作原理外,还辅之以测试验证的方式。因此本书蕴含了许多官方文件没有说明的技巧,如查询特定的动态管理检视、执行各种 DBCC 指令,如 DBCC IND、DBCC PAGE、各种追踪旗标…等。藉以解释 SQL Server 如何使用 CPU、内存、硬盘与网络等硬件资源,数据表、索引页、交易纪录的结构,数据在新增、修改、删除的过程中,对实体存放的影响,交易与锁定的运作原理等等。
由于分成了四册,由 Kalen Delaney主写的本书其章节不多,仅有八章。锁定在描述数据引擎的基础运作,例如数据库的设定与数据实际在硬盘的摆放,索引结构,交易与锁定等。
由于 SQL Server 2005 提供了非常多的服务,如 Database Services、Analysis Services、Reporting Services、Notification Services、Integration Services 等,让笔者觉得 SQL Server 像一个品牌了,有如 Office 一样,其下涵盖了非常多个别的产品。再加上一堆的版本,如 Enterprise、Evaluation、Standard、Workgroup、Developer、Express,还有 32 或 64 位的差异,让安装 SQL Server 变得复杂。一般新入手的使用者恐怕连需要安装哪些服务,各安装步骤的意义,对其后系统执行时的影响都一知半解。本书的第一章从安装与升级开始谈起,可见得 SQL Server 2005 的安装都变得有学问了J
SQL Server 的数据库服务由多个组件所组成,可大分为协定存取层、关联引擎(Relational Engine,一般也称为查询处理器 Query Processor)、储存引擎、SQL 核心等部份。本书的第二章先概略介绍这些组件的定位,好让读者知道本书所讨论的重点:储存引擎,在整体 SQL Server 数据库服务中所占的位置。
SQL Server 服务器实例和数据库皆提供了相当多的设定,但由于预设的设定已经符合大多数的使用情境,因此 SQL Server 管理师们大都不会深究这些设定。但随着使用人数增多,数据量增大,安全需求提高,这些设定就变得重要。本书的第三章和第四章详细解说了这些设定。另外,SQL Server 2005 所新增的 Database Snapshot、Schema 等功能也是本章的重点。
为维护数据更新时的完整性,SQL Server 透过放在硬盘上的交易纪录(transaction log)先行记载变更,再批次更新到数据文件中。但又为了执行效率与稳定,必须设计一系列精细的运作。而管理者需要熟悉这些运作,以提供足够的硬盘空间,并设计数据库备份的策略。本书第五章探讨了交易纪录的运作方式,连带剖析备份还原的设计。
数据表是实际存放数据的地方,也就是一切存取的核心。如何有效地切割数据字段,精确地使用数据格式,设定各种维护数据正确性的条件约束(Constraint)…等等,都是数据库管理师和程序设计人员所需要谨慎考虑的。本书第六章详细解释了数据实际在硬盘上的摆放方式,各种数据型态对储存的影响,以及修改既有的数据表设计。
索引是有效使用数据库引擎最重要的议题之一,但建立与维护索引并不是容易的事,索引建少了,查询效率不好,建多了,危害新增、修改、删除。什么字段该建,是否要对计算字段、检视建索引?建立索引将耗掉多少硬盘资源等,都是数据库管理师所必备的知识。本书第七章占据了全书最大的篇幅,详细解释了索引的组织结构,丛集(Clustered)和非丛集(Nonclustered)索引的差异、数据切割(Partition)、SQL Server 建置和维护索引的方式,管理者应注意的数据不连续与索引重整等议题。
当多人或多个批作业同时存取相同范围的数据时,交易与锁定的管理就变得很重要。SQL Server 2005 在此版加入了「纪录版本(row versioning)」功能,本书作者称为乐观并行(Optimistic concurrency),而称呼经由资源锁定的并行处理为悲观并行(Pessimistic concurrency)。SQL Server 2000以前的版本仅支持悲观并行。「纪录版本」保留纪录最后完成交易的值,供用户查询,让查询的工作不影响修改的工作,反之亦然。而不像以往透过资源锁定的方式,在默认的交易层级下,正在读的纪录不能改,正在改的纪录不能读。而不管是哪一种并行处理,本书第八章都提供了深入的解释,这是多人同时存取时,效能好坏的关键因素之一。
阅读建议
本书不是入门书,不会一步步导引你操作。若你尚不了解 SQL Server,玩得不深,本书可能就沉重了些。而就算你是专业的 SQL Server 管理师,我相信本书依然是蛮难啃的。因为作者解释的大都是 SQL Server 底层的运作原理,少有操作讲解。为了解释,在书中提供像字典似的列表,并辅之以示意图。读起来枯燥无味,但面临问题时,是深入探究的起点。
虽然章节间没有必然关系,但整本书所设计的顺序还是从基础到衍生,因此从第一章看起是比较好的。快速浏览过各章节的内容后,在实际工作时,碰到需要深入研究的问题,再回来温习书中所解释的原理。对于读不懂的章节不要沮丧,大部分的人应该都跟你一样,待更有经验且有空时,重新读过,相信会有不同的收获。
若你已经是 SQL Server 2000 的高手,这本书依然适用,但可能会缺乏耐心逐字阅读,因为部分内容是与 2000 重迭的。仍劝你浏览与精读并用,遇到熟知的部分快速翻阅,但读到 2005 新增的部份,就需要手脑并用了,既详读文章,且在 SQL Server 2005 上操作一遍,以确认真的读通了。
相关阅读
除了本书外,Inside Microsoft SQL Server 2005 系列丛书中,当下买得到的尚有
l Inside Microsoft SQL Server 2005 : T-SQL Querying。作者:Itzik Ben-Gan、Lubor Kollar 和 Dejan Sarka。微软出版社出版。
l Inside Microsoft SQL Server 2005 : T-SQL Programming。作者:Itzik Ben-Gan、Dejan Sarka、Roger Wolter。微软出版社出版。
本书的相关网址:http://www.insidesqlserver.com/,及其系列书籍的相关网址http://www.sql.co.il/books/insidetsql2005/。若你不欲购买本书,或可在该网站逛逛。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1449976
相关推荐
英文版 SQL Server2005技术内幕:存储引擎
Inside Microsoft SQL Server 2005 The Storage Engine.rar
《深入Microsoft SQL Server 2005之存储引擎》 英文chm
《Microsoft SQl Server 2005技术内幕:存储引擎》是Inside Microsoft SQL Server 2000的作者Kalen Delaney的又一经典著作,是Inside Microsoft SQL Server 2005系列四本著作中的一本。《Microsoft SQl Server 2005...
sequel—Inside Microsoft SQL Server 2008: T-SQL Programming—cover advanced T-SQL querying, query tuning, and programming in Microsoft SQL Server 2008. They are designed for experienced programmers ...
2.Microsoft.Press.Inside.Microsoft.SQL.Server.2005.The.Storage.Engine.Nov.2006.eBook-BBL.chm 3.Microsoft.Press.Inside.Microsoft.SQL.Server.2005.T-SQL.Programming.Jun.2006.chm 4.Microsoft.Press.Inside....
1. The Evolution of Microsoft SQL Server: 1989 to 2000 [加入我的離線書架] . SQL Server: The Early Years . Ron's Story . Kalen's Story . Microsoft SQL Server Ships . Development Roles Evolve . OS...
Inside.Microsoft.SQL.Server.2005系列三本书英文版第一部分,包括Inside.Microsoft.SQL.Server.2005.The.Storage.Engine Inside.Microsoft.SQL.Server.2005.T-SQL.Querying Inside.Microsoft.SQL.Server.2005.T-SQL...
Microsoft.Press.Inside.Microsoft.SQL.Server.2005.Storage.Engine
Inside.Microsoft.SQL.Server.2005系列三本书英文版第二部分,包括Inside.Microsoft.SQL.Server.2005.The.Storage.Engine Inside.Microsoft.SQL.Server.2005.T-SQL.Querying Inside.Microsoft.SQL.Server.2005...
Pro SQL Server Internals is a book for developers and database administrators, and it covers multiple SQL Server versions starting with SQL Server 2005 and going all the way up to the recently ...
Microsoft.Press.Inside.Microsoft.SQL.Server.2005.The.Storage.Engine.chm Microsoft.Press.Inside.Microsoft.SQL.Server.2005.Query.Tuning.and.Optimization.chm Inside.Microsoft.SQL.Server.2005.T-SQL....
Analyze the output of blocking scripts and Microsoft® SQL Server™ Profiler to troubleshoot locking and blocking issues. Formulate hypothesis to resolve locking and blocking issues. ...
sql server 技术内幕, 相当经典的一个系列的书。 Querying Programming Storage.Engine Query Tuning and Optimization
In the event of page getting full and reaching the PageItemCount, MGIndex will sort the keys in the page's dictionary and split the data in two pages ( similar to a b+tree split) and update the page ...
Once you've created a table, simply right click inside of it and use the handy popup menu to change its attributes. ,,,,<th> tags are supported. <br/> 图片插入和自动上传 <br/>Built-in ...