2008年11月30日星期日

[转载]SQL Server DBA自学之道

DBA自学之道

--王成辉翻译整理,转贴请注明出自微软BI开拓者www.windbi.com
--原帖地址

你不可能上大学去成为一个DBA。当然,你可能在那里学到一些数据库理论和设计的基本课程,甚至可能还有一两节特定数据库的课程,但没有能成为DBA的全面的大学课程。

当然,许多培训中心提供SQLServer的一周的课程,但正如你可能知道的那样,他们仅提供一些基础,不能真正教你你想知道的一切。此外,这需要付钱,如果你是自费的话,或在你的城市没有培训中心的话,这不可能是一个实际的选择。

那么,如果象你这样想成为一个DBA的人(或成为一个高级DBA,如果你已经是一个初级DBA的话),该有什么样的选择呢?如果你没能从课堂得到你真正需要的培训,你将转向哪儿呢?

如果你象我知道的大多数DBA一样,走的是自学的路的话,这不是一条容易的路,但如果你真正想成为一个DBA而成就你自己的职业生涯的话,我认为你会发现亲自去实现它是最可能走的路。

你需要学什么

如果你是一个数据库新手的话,你也许不了解这个,但实际上有很多不同的数据库工作方向。主要包括下面几个:

DBA (数据库管理员): 通常负责SQLServer和数据库的日常管理工作。
数据库模型/设计师:模型和设计数据库
数据库(T-SQL)开发人员:编写T-SQL应用程序,通常写一些脚本和存储过程。
数据仓库专家:管理也许还有开发基于数据仓库的应用程序。
本文着重于DBA。在很多方面,DBA必须是一个对SQLServer知识最全面的人(相比其他而言)。要想成为一个成功的DBA,你不仅必须知道怎样管理SQLServer,还需要熟悉SQLServer的方方面面,包括数据库设计、开发和数据仓库。你不必精通每一个数据库工作方向,但你知道得越多,你就越能更好得完成你得工作。你真正需要成为SQLServer万事通。正如你所想象的,这可能是一项庞大的事业。

那么我该从哪里开始?

幸运的是,有很多好的SQLServer书籍,所以在你成为高级DBA的路上最佳开始的地方就是开始建立顶级书籍的图书馆,当然,要从头到尾的阅读他们。在某些情况下,我发现某些书自己读了一遍又一遍,每次读他们都得到了更多的信息。

这里有一些我推荐的书,建议你按照顺序去读他们。当然你可以按照你想要的顺序去阅读,你也可以跳过一些不怎么感兴趣的主题。


对所有未来的DBA推荐的书

Microsoft SQL Server 2000 DBA Survival Guide: 开始DBA最好的一本书。从SQLServer6.5就有了,每个新版本都有所改善。
Beginning SQL Server 2000 Programming: 精通T-SQL开发基础很好的书。
Professional SQL Server 2000 Database Design: 可能是在SQLServer数据库设计方面曾经写得最好的书。
Admin 911: SQL Server 2000: 考虑这本书是因为它可能是你从其他书里找不到的一个真实世界技巧和提示的一个汇总。
Inside Microsoft SQL Server 2000: SQLServer如何工作最权威的书。它相当于SQLServer研究生级别。
Microsoft SQL Server 2000 Performance Tuning Technical Reference: 对DBA来说,性能调优是持续的工作,这本书也是必读的。
Microsoft SQL Server 2000 Analysis Services Step by Step: 即使你还不准备去做数据仓库,你也应该了解它的基础,这本书很好的包含了这些内容。

对那些真正想作为DBA而胜过他人的可选书籍

Professional SQL Server 2000 Programming: 我强烈推荐这本书给每一个想精通T-SQL开发的人。
Microsoft SQL Server 2000 Resource Kit: 很大的一本书,你将学到你以前从来没有想过的那些主题。
Beginning SQL Server 2000 for Visual Basic Developers: 如果你不得不支持那些用SQLServer作为他们数据库的VB开发者,那么你需要了解VB和SQLServer是怎么一起工作的。
MCSE Microsoft Windows 2000 Advanced Server Clustering Services Training Kit: 如果你需要做SQLServer群集,这是一本在这个非常难的主题上可用的少有的几本书之一。
Professional SQL Server 2000 DTS: 如果你需要在数据库间移动数据,或在做数据仓库,这本书是DTS的圣经。

为了了解每一本书的详细内容,单击该书的标题即可。

你可能已经注意到上面列出来的书主要着眼于SQLServer2000。那是因为它是SQLServer目前的版本,且有很多书可用。即使你使用的是SQLServer7.0,上面推荐的书将仍然很有用。在两个版本之间没有太多的不同。

读最先推荐的那一套书可能需要超过300个小时。这个数很大,但不要被它吓倒。如果你每天专门拿一个小时来读这些书的话,一年之内你就会读完它们。

SQLServer2000有很多可用的书,我认为上面我推荐的那些书是最好的。

其他的一些学习资源

虽然读书是学习你需要知道的大部分知识的最佳途径之一,但他仅是学习更多的SQLServer的一条途径而已。既然你正在读网站上的本文,你就已经知道了关于SQLServer的站点经常包括很多能助你成就高级DBA的内容。我的网页连接页面有很多连接到相关SQLServer的站点,其中我比较喜欢的有:

www.sqlservercentral.com
www.sqlteam.com
www.microsoft.com/sql
msdn.microsoft.com


我喜欢这些站点因为它们有很多你在其他网站上找不到的原创内容。正如你所想的,微软的站点有成千上万的关于SQLServer专门的网页。

如果你在大城市,你可以加入SQLServer用户组。大部分能至少一月一次的会面,提供程序去助你更好的精通SQLServer。可以在http://www.google.com上搜索离你最近的SQLServer用户组。

你也可以通过随意访问不同的SQLServer新闻组(你可以在这里找到)去学到更多的东西。如果在你自学时遇到你不能解决的问题,你可以去那儿问它们。

实践你所学的

尽管阅读关于SQLServer的资料是重要的,它不能代替你亲手去操作。那意味着你需要访问有SQLServer的计算机。幸运的是,上面推荐的几本数有一个SQLServer2000的120天的评估版,所以去访问它是没有问题的。

我建议你按照你读的书里的很多不同的例子去做。除此以外,为了获得更多的经验,我建议你试着去做一些自己能开发的实际项目,如根据你的书、CD、DVD或无论你收集到的什么去创建一个自己的数据库。或者如果你有一个做商业的朋友,自愿去为他们开发一个SQLServer数据库。

获得真实世界的经验

这是一个艰苦的部分,我不可能帮你太多。即使世界上最有学问的DBA不是在没有一些经验下去真正准备好了面对真实的世界。但如果没有人给你机会你怎么获得经验呢?

我知道的大多数DBA都没有计划要成为DBA,他们进入这一行是因为他们工作在相关的项目上。例如,也许他们是开发人员,NT或Windows2000管理员或者也许他们是微软Access的高手,然后决定成为DBA的。换句话说,他们没有从任何正式的培训或经验开始,但机缘巧合能使用SQLServer,他们抓住了机会去尽可能的获取经验,然后使其成为了全职的DBA。我就是那样。

如果你真对成为DBA感兴趣的话,无论什么原因,障碍不是不能逾越的。你所要的一切就是时间、毅力和学习的愿望