CSDN专家博客精华版

为人民服务!
  首页  :: 新随笔  :: 管理
由于大部分的数据库系统使用情境是:不懂计算机的用户加上半懂数据库的程序设计师合力存取 SQL Server,另有软硬件的零组件一大堆,所有的东西都有长短不一的使用寿命,此种组合造成每隔一段时日,数据库系统就会冒出未知的问题。因此数据库管理师的书架上永远缺一本错误处理的书。
数据库管理师需要知道为何大家会死锁在一起,又在等什么资源?数据库好端端的怎么毁了,又怎么快速而正确地救回?SQL Server 为何启动失败,而SQL errorlog 档案内的一大堆纪录是什么意思?内存、CPU、硬盘、网络等硬件资源是否不够用,多少才够用?又如何有效地使用?TempDB 系统数据库与效能有什么关系?丛集服务器如何运作的,又为何不运作了?总总的问号压得 DBA 喘不过气来。
每日使用 SQL Server 所产生的许多问题,总让我们寻寻觅觅。除了 SQL Server 联机帮助、微软官方网站外,借着 Google 搜寻、讨论区、部落格、教育训练课程等,大家口耳相传着特定问题的解法。而这些错误处理的经验若是能在微软的技术工程师研究、回答问题后,统整、累积并集结成书是再好不过了,因为这才能理论与实务兼备。
在此介绍一本好书「SQL Server 2005 Practical Troubleshooting The Database Engine」,Ken Henderson 编辑,Addison Wesley出版。它就是在此背景下集结而成。本书不是入门书,它是由多位微软的 SQL Server 开发团队成员与技术支持工程师合作而成,说它是书不如说是白皮书(white paper)的集成,因为章节间没有什么连贯性,每位工程师针对自己熟悉的领域撰写一章。因此它是好的参考书,内容详实深入,但绝不会引人入胜。毕竟专业的工程师善于搜集蛛丝马迹、有耐心评估和解析大量的倾印(dump),长于写程序代码,但不会说笑话和写文章。
本书的编者 Ken Henderson 在序言里开宗明义地说道,他只想请能读到 SQL Server 源代码,能单步除错 SQL Server 的人来执笔本书,哇光看组成团队的条件就可感受到这是本好硬的技术书。
@小标:书籍内容与阅读建议
或许是定位在错误处理(troubleshooting)本书大概是我看过程序画面撷取最少,但倾印数据最多的 SQL Server 技术书籍。书中用各种方式倒出 SQL Server 内存中的数据结构,而后逐段说明。或是深入解释 Errorlog 所代表的意义,乃至于 stack dump 的意涵。而书中涵盖的内容相当广泛,从 DBCC 检测数据库的完整性到备份/还原的原理,发生锁定(lock)的原因、追踪与处理,T-SQL 语法的解析与执行计划快取,乃至于快取计划的优缺点。各种硬件的使用原理与瓶颈,以及 Service BrokerTempdb 系统数据库、丛集服务器等等,都有精辟深入的解析。
本书的 10 个章节各自独立,分别由不同的工程师撰稿。困于冷僻的原理,我相信从头到尾硬啃这本书蛮痛苦的。且深入的理论没有实务来加强记忆,读过也立刻忘了。本书适于放在案头,有空且好心情时,选个章节来研究一下。在遇到各类问题时,例如数据库挂掉、内存用尽、系统效率不佳时,再来细心研读相关的章节。
但毕竟预防重于治疗,如果在规划、设计时,就能有扎实的技术实力,未来将可避掉或减轻这些问题。且在使用数据库系统时,懂得如何观察趋势变化,如此才能防患于未然。
另外,本书主要是写给 SQL Server 2005 版本的管理者,若你仅管理 SQL Server 2000 或之前的版本,则本书不太适用。虽然许多原理概念在 SQL Server 2000 便已经存在且依然适用,但由于少了系统对象或工具程序,加上本身议题的深度,让你在缺乏相关信息时,将变得难以吸收。
@小标:相关资源
http://本书编者 Ken Henderson 也是一位著名的作家,有多本畅销书问世,都具有相当的深度与好评。你可以在他的网站稍微认识一下此书的定位,以及下载该书光盘的更新内容。www.khen.com
http://www.sqlnexus.netKen Henderson 撰写了一个小工具程序 SQL Nexus,它可以解析 SQL Server 2005 Sqldiag.exe 工具程序所产生的大量数据。
http://blogs.msdn.com/khen1234/default.aspx:微软官网提供给Ken Henderson 的部落格,这里有较上述第一个网址更多的技术内容。 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1813750