SQL Server DBA工做内容详解

在Microsoft SQL Server 2008系统中,数据库管理员(Database Administration,简称为DBA)是最重要的角色。DBA的工做目标就是确保Microsoft SQL Server 2008系统正常高效地运行。DBA的工做也是最繁忙的工做,不管是性能调整,仍是灾难恢复,都离不开DBA的支持。web

  通常地,做为一个DBA,至少应该作好如下12项任务:数据库

  •   任务一:安装和配置;
  •   任务二:容量规划;
  •   任务三:应用架构设计;
  •   任务四:管理数据库对象;
  •   任务五:存储空间管理;
  •   任务六:安全管理;
  •   任务七:备份和恢复;
  •   任务八:性能监视和调优;
  •   任务九:调度做业;
  •   任务十:网络管理;
  •   任务十一:高可用性和高可伸缩性管理;
  •   任务十二:故障解决;

  下面简单描述这些DBA的任务安全

  任务一:安装和配置。服务器

  DBA的第一项任务是安装和配置Microsoft SQL Server 2008软件系统,为顺利使用Microsoft SQL Server 2008软件建立良好的环境。不管是安装仍是配置,都应该根据实际须要来进行,使得系统知足用户的实际需求。须要注意的是,系统配置不是一劳永逸的,应该随时根据需求的变化和环境的须要,进行监视和适当地调整。网络

  任务二:容量规划。架构

  容量规划是对整个Microsoft SQL Server 2008系统进行一个整体的规划。规划的重点应该放在解决瓶颈问题上。能够从内容和期限两个方面考虑系统的容量规划。并发

  从内容上来看,应该考虑的主要内容包括:硬件容量规划、软件规划、网络规划。硬件容量规划包括磁盘空间、CPU、I/O等规划。软件规划包括操做系统的安装和配置规划、数据库规划、数据库对象内容和数量规划等。网络规划包括网络硬件、网络软件和协议、网络客户数量流量和分布、网络拓扑结构等规划。数据库设计

  从期限上来看,应该考虑短时间、中期和长期规划。短时间规划的目的是知足当前平常业务的须要。中期规划主要是知足业务发展和扩大的须要。长期规划主要是知足业务极限须要等。例如,若是预测某个系统的当前并发用户数量是1000,3年后的用户可能达到1000万,那么这时既不能按照1000用户的需求来设计,也不能一会儿按照1000万用户的需求来设计,必定要采起一个折中的形式。分布式

  任务三:应用架构设计。函数

  应用架构设计包括数据库设计、应用程序设计和相应的技术架构设计。

  数据库设计应该考虑数据库的逻辑需求、数据库的建立方式和数量、数据库数据文件和日志文件的物理位置等。通常状况下,能够在Microsoft SQL Server 2008系统成功安装以后,根据规划的目标,手工建立数据库。

  应用设计应该考虑开发工具的选择、API技术、内部资源和外部资源的结合、应用架构的分布等。须要强调是在应用设计时,DBA应该与开发人员共同工做,确保他们编写出优化的代码,尽量地使用服务器的资源。

  技术架构设计主要包括表示层、逻辑层和数据层的分布。这些分布不该该考虑到硬件资源和用户需求。既不能片面地追求太高的硬件资源,也不能仅仅局限于当前的环境,必定要按照可扩展的观点来综合考虑。

  任务四:管理数据库对象。

  管理数据库对象是使用数据库的最基本、最重要的工做。这些对象包括表、索引、视图、存储过程、函数、触发器、同义词等。为了完成管理数据库对象的工做,DBA应该可以很好地回答诸以下面的这些问题。

  •   系统应该包括哪些数据?
  •   应该怎样存储这些数据?
  •   应该在系统中建立哪些表?
  •   应该在这些表中建立哪些索引,以便加速检索?
  •   是否应该建立视图?为何要建立这些视图?
  •   应该建立哪些存储过程、函数、CLR对象?
  •   应该在哪些表上建立触发器?应该针对哪些操做建立触发器?
  •   是否应该建立同义词?

  任务五:存储空间管理。

  存储空间管理任务就是怎样为数据分配空间、怎样保持空间能够知足数据的不断增加。随着业务量的继续和扩大,数据库中的数据也会逐渐地增长,事务日志也不断地增长。存储空间管理任务主要围绕下面几个问题。

  •   当前的数据库由那些数据文件组成?
  •   事务日志的大小应该如何设置?
  •   数据的增加速度是多大?
  •   如何配置数据文件和日志文件的增加方式?
  •   数据库中的数据什么时候能够清除或转移到其余地方?

  任务六:安全管理。

  安全性是DBA重要的平常工做之一。安全管理的主要内容包括帐户管理和权限管理。帐户管理就是在数据库中应该增长哪些帐户、这些帐户应该组合成哪些角色等等。权限管理是对象权限和语句权限的管理,应该回答下面这些问题:

  •   这些帐户或角色应该使用哪些对象?
  •   这些帐户或角色应该对这些对象执行哪些操做?
  •   这些帐户或角色应该在数据库中执行哪些操做?
  •   如何设置架构?如何创建架构和对象、架构和用户的关系?

  任务七:备份和恢复。

  不管系统运行如何,系统的灾难性管理是不可缺乏的。天灾、人祸、系统缺陷都有可能形成系统的瘫痪、失败。怎样解决这些灾难性问题呢?办法就是制订和实行备份和恢复策略。备份就是制做数据的副本,恢复就是将数据的副本复原到系统中。备份和恢复工做是DBA的一项持续性的重要工做,其执行频率根据数据的重要程度和系统的稳定程度来肯定。

  任务八:性能监视和调优。

  根据企业的经营效益评价企业的管理水平,根据学生的考试成绩评价学生的学习好坏。做为一个大型软件系统,Microsoft SQL Server 2008系统的运行好坏必须获得正确地监视、评价和相应的调整。这是DBA的一项高级工做。借助一些工具和运行性能指标,DBA应该可以监视系统的运行。若是某些运行指标出现了问题,DBA应该及时地采起补救措施,使得系统始终保持高效运行状态。

  任务九:调度做业。

  DBA不可能一天24小时不停地盯住系统的运行,及时地执行某些指定的操做。Microsoft SQL Server 2008系统提供了许多工具,DBA应该充分利用这些工具和机制,解决下面一些问题。

  •   调度哪些做业应该由系统执行?
  •   这些做业应该在什么时候执行?
  •   如何确保这些做业能够正确地执行?
  •   若是自动执行的做业执行失败时,应该如何处理?
  •   如何使得系统能够均衡地执行相应的操做?

  任务十:网络管理。

  做为一种分布式的网络数据库,网络管理的任务更加的重要。Microsoft SQL Server 2008系统提供了网络管理工具和服务,DBA应该借助这些工具进行服务规划和管理网络操做。

  任务十一:高可用性和高可伸缩性管理。

  做为一个DBA,必须保持系统具备高可用性和高可伸缩性。可用性是一项度量计算机系统正常运行时间的指标。可伸缩性描述应用程序能够接受的并发用户访问的数量问题。影响系统可用性的主要因素包括:网络可靠性、硬件故障、应用程序失败、操做系统崩溃、天然灾害等。不管是数据库系统管理员,仍是应用程序设计人员,都应该最小化系统破坏的概率,最大化系统的可用性。在设计系统的可用性时,应该肯定采起什么样的可用性策略来知足可用性的需求。

  可用性的需求能够经过3个方面描述,即运行的时间、链接性需求和数据的紧密和松散要求。在肯定可用性的需求时,首先考虑系统的运行时间。通常地,数据库应用程序有两种运行时间,即在工做时间是可用的和在任什么时候间都是可用的。若是只是要求在工做时间是可用的,那么能够把系统的维护等工做安排在周末进行。可是,有许多应用程序要求天天运行24小时、每周运行7天,例如,在线超市等,这时必须采起措施保证系统老是运行的。不一样的应用程序有不一样的链接性要求。大多数的应用程序和电子商务解决方案要求采用可靠的网络链接。这时,要求永久性的在线链接,必须最小化各类异常现象的发生。有些应用程序容许用户离线使用。这时,系统的可用性要求下降了。大多数应用程序要求数据是同步使用的。用户对数据的请求,系统必须当即作出回应。这是紧密型的数据要求,这种状况必须保证系统的高可用性。有些应用程序不须要数据是同步的,对用户的请求能够延迟回应。这种要求是数据松散型的要求,这时系统的可用性需求比较低。

  任务十二:故障解决。

  虽然不但愿Microsoft SQL Server 2008系统出现故障,可是故障多是没法避免的。这些故障可能天天都会发生。有些故障是人为不当心形成的,有些故障多是系统中的缺陷造成的,有些故障多是莫名其妙的。做为一个DBA,在系统中的其余用户心目中是Microsoft SQL Server系统的权威。不管是大事仍是小事,DBA都应该作到迅速诊断、准确判断、快速修复。从这个意义上来讲,DBA是一个数据库系统的专业医生。

相关文章
相关标签/搜索