在Microsoft SQL Server 2008系统中,数据库管理员(Database Administration,简称为DBA)是最重要的角色.DBA的工作目标就是确保Microsoft SQL Server 2008系统正常高效地运行.DBA的工作也是最繁忙的工作,无论是性能调整,还是灾难恢复,都离不开DBA的支持. 一般
在Microsoft SQL Server 2008系统中,数据库管理员(Database Administration,简称为DBA)是最重要的角色.DBA的工作目标就是确保Microsoft SQL Server 2008系统正常高效地运行.DBA的工作也是最繁忙的工作,无论是性能调整,还是灾难恢复,都离不开DBA的支持.
一般地,作为一个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应该借助这些工具进行服务规划和管理网络操作.
任务十一:高可用性和高可伸缩性管理.