DBA的必备知识
要使SQL Server为机构发挥作用,单靠一个人是不可能拥有所有技能或时间去做一切要做的事情。对数据库管理员(DBA) 来说,主要的日常工作是安装配置SQL Server并进行日常维护。下面介绍DBA都与谁打交道,讨论做一个好的DBA必须具备哪些知识,并且对DBA的日常任务做一概括介绍。
在深入了解DBA这一角之前,让我们先简要了解一下与SQL Server有关的其他一些人,其中包括:
SQL开发人员
如果你们机构准备开发自己的SQL应用软件,就要有一个以上的人用Transact-SQL设计编写SQL Server应用程序,并且用一些开发语言编写客户前端程序。尽管有很多SQL编程人员知道怎样编写程序,但很少有人熟悉网络如何工作、服务器如何工作以及怎样管理服务器。DBA经常必须向SQL编程人员提供他们需要的有关网络硬件和SQL Server的限制因素方面的实际信息。
网络管理员
网络管理员负责安装服务器并且管理网络应用程序。通常,网络管理员知道有关文件和打印服务器方面的一切知识,但碰到管理专门的应用服务器,如SQL Server时,他们可能会不知所措。这时DBA就必须与网络管理员一同工作,确定最好的方法将SQL Server与网络其他部分集成起来,使得网络通信状况达到最优。DBA也经常要依靠网络管理员解决影响到SQL Server的与网络有关的问题。
帮助台人员
大多数比较大的机构都有专门负责通过电话联系或亲自去帮助最终用户解决问题的技术支持人员,即帮助台人员。这些帮助台人员必须被教会如何使用并支持你的SQL Server应用程序,这样才能为别人提供帮助。作为一名DBA,你有可能不仅要负责培训他们使用客户端软件,而且要培训他们对SQL Server应用程序有一个基本的理解,这样才能正确地及时地解决问题。而帮助台人员中常会有人第一次向你指出要警惕某个潜在的SQL Server的问题。
最终用户
虽然最终用户是与计算机应用软件打交道时间最长的人,但他们也是在进行培训时最容易被忽视的人。在向SQL Server用户征询怎样将一个SQL Server应用程序做得更好时也常常将他们忽视。DBA虽然很可能不负责培训用户,但可能要为正确地做最终用户的培训工作提供一些保证工作,并负责就目前的SQL Server应用软件向最终用户征求反馈意见。
作为一名DBA,你的工作就是与以上所列人员努力协同工作。如果你在一个小机构工作,你会发现自己常常身兼数职。没有人会说这是个轻松的工作。
工程管理能力是一个附加条件
如果你想成为一名高效率的DBA,拥有一些工程管理能力和经验非常有用。有些情形下,DBA可能要负责部署整个企业的SQL Server,或负责将所有现存的SQL Server 6.5升级到7.0。你对工程管理了解越多,就越能成功地管理更大型工程。
DBA所需技能
DBA的职责范围很广,要想做一名好的DBA,其所需技能也是多方面的。一个DBA应当拥有的技能包括以下一些:
对NT Server的全面理解
由于SQL Server与NT Server联系得非常紧密,DBA必须对NT Server怎样运行以及怎样管理有很好的理解。例如,DBA应当知道怎样管理用户和用户组,怎样修改局部权限和共享权限,怎样改变安全方针,怎样更改注册表,怎样管理共享,怎样终止和启动服务程序,怎样使用事件查看程序,怎样建立容错机制,怎样运行性能监控程序和网络监控程序,怎样理解域设计。DBA还应当熟悉基本的NT Server故障修复方法。
对SQL Server有本质认识
不用说DBA应当深入理解SQL Server。
熟悉数据备份与恢复
由于大多数SQL Server数据库都是任务必需的信息,因此DBAsql软件长什么样的最大挑战就是保证数据根据需要随时提供。不管SQL Server数据库如何备份,DBA必须对SQL Server、NT Server以及第三方的备份工具非常熟悉,也应当熟悉怎样使用这些工具快速恢复崩溃的数据库。
Transact-SQL与DBA
虽然对于DBA来说学习Transact-SQL很重要,但本书重点在于介绍怎样通过大量的图形用户界面管理工具来管理SQL Server。在适当的时候也列举一些Transact-SQL的例子。
对业务处理过程有所了解
这对DBA来说可能是需要掌握的最困难部分。每个 SQL Server数据库都以这样或那样的方式模拟一个或多个业务处理过程。DBA对这些处理过程理解得越好,对SQL Server成功处理业务帮助越大。必须牢牢记住的是SQL Server作为首选产品的原因是花最小的代价能最高效地满足一些必需的业务需求,而不是只提供给我们一些代价高昂的服务。
对关系数据库设计有基本认识
SQL Server数据库可能非常复杂,DBA要想给数据库性能做优化调整就必须了解它们是如何设计的。
对Transact-SQL有基本了解
虽然DBA不必成为一名Transact-SQL编程人员,但知道这种语言的基本概念还是很有用的,
比如说怎样用SELECT语句创建一个简单的查询。DBA对Transact-SQL知道得越多,其作为DBA就越有价值。
非常细致的工作方式
虽然大多数工作都需要细致,但对DBA来说尤其重要。大多数SQL数据库含有任务必需的数据,一旦丢失会严重影响业务成功。DBA在执行所有任务时都必须非常仔细,要保证数据从来不丢失,或关闭数据库的时间不超过日常维护所需关闭的时间。
DBA需要做的工作
对于许多DBA来说管理至关重要的数据令人非常紧张。许多情况下,你所管理并保护的数据是公司的生命之源,一旦丢失,公司就会陷入危机。解决这种压力的最好方法是防范每个可能存在的问题。这样,你每晚都能睡个安稳觉。直到现在我们总是泛泛地描述DBA的职责。现在让我们具体地看一看DBA所做的些日常工作:
安装和升级SQL Server
当需要安装一台新的SQL Server计算机或者从老版本升级到新版本时,由DBA来做这些工作。安装一台新的SQL Server计算机可能并不是一件平常的事,除非你是在一家非常大的机构任职。所幸的是,大多数新的安装工作都只是例行公事,而给SQL Server升级就是另外一回事了。虽然升级工作不常进行,但每次升级都非常费时费力。遇到的问题也是方方面面的,从选定不会影响业务操作的升级时间,到碰见足以破坏数据库的意想不到的小错误。升级工作需要周密计划并且有条不紊地进行。
创建并管理数据库
创建并且管理用于存储数据的数据库通常是DBA的工作。
管理数据库用户和安全
用户安全管理是DBA最大的任务之一。由于人员职责变动或者有人从机构调离或调入,需要创建用户账号并且设置适当的数据库访问权限。DBA的任务之一就是将安全需要与便于人们很容易地访问需要的数据这两项目标平衡起来。
进行数据维护
SQL Server数据库非常复杂,为防止数据丢失,DBA要负责执行常规的数据库维护任务,从而在小错误发展成主要问题之前查到并且修改这些错误。
备份和恢复数据库
DBA所有工作之中,这一项可能是最重要的,也是最乏味的。即使是最能容错的服务器也有崩溃的时候,所有存储的数据都会遭到破坏。日常备份有助于保证数据不会永久丢失。DBA有责任做一份灾难恢复计划来处理可能发生的数据丢失情况。尽管许多人认为服务器崩溃是数据丢失的主要原因,但也有其他因素。比如,用户出错、发生事故、偷窃、恶意破坏、火灾和一些自然因素。DBA必须对任何意外事件都有所准备。
在SQL Server与其他应用软件之间传送数据
尽管我们的最终目标是将机构的所有数据以一种统一的格式存储在同一个地方,但这通常不太可能。企业的数据经常分散在各个地方并且以多种格式存储。一些数据可能在大型机上,一些在UNIX服务器上,而另一些在SQL Server上。作为一名DBA,你经常需要将数据从不同的应用程序传给SQL Server,或者从SQL Server传到别的地方。多久传送一次取决
于机构的需要。一些DBA每天都得在SQL Server与其他应用软件之间传送数据,而另一些DBA只是偶尔传送一次数据。
管理数据复制
如果机构需要利用SQL Server提供的数据复制功能,那么DBA的职责就包括建立和管理数据复制。根据不同的业务需要,这项工作可能很简单,也可能很复杂。
有规律地监控和优化调整SQL Server
作为一名DBA,你肯定比别人更有机会听到对数据库响应时间的抱怨。人人都想要快速的响应时间,一旦得不到就会发牢骚。作为DBA,你会为此而惭愧,即使这常常不是你所能控制的。SQL数据库非常复杂并且有许多因素限制速度。虽然有些任务很快,但有些任务却是本来就慢。当你为加快某一任务而做某些改动时,经常会相应地导致另一任务慢下来。一般而言,DBA必须监控SQL Server数据库的性能并且主动采取措施调整数据库使之性能达到最优。这是一项无休止的工作,因为大多数数据库随时都在变化,一旦改变就要重新调优。
调度事件
DBA的很多日常工作,如数据库备份,可以用SQL Server的任务调度器自动进行。DBA负责识别可以自动执行的同类任务、执行这些任务,然后跟踪它们以保证任务按调度执行。DBA也可以在SQL Server中设置报警功能,一旦重要事件发生就给DBA发,从而使在DBA管理下的所有SQL Server都能及时产生状态信息反馈。
故障修复
故障修复是DBA经常要做的工作。问题从来不会长时间不出现,一旦你解决了一个问题,从未碰到过的新问题又会出现。虽然故障修复的最好工具是对SQL Server有全面深入的了解,但没有什么工具能替代经验。做DBA时间越长,你就越能成为一名故障修复的能手。
与别人合作维持SQL Server运行
正如以前所说,DBA不是独自工作的。一个SQL Server只是一个大网络的一小部分,而这个大网络又仅仅组成了一个机构的小部分。DBA总是与遍及机构的许多人一起工作,以保证DBA掌管的SQL Server能像所设计的那样满足机构的业务需要。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论