【SQL Server DBA】SQL Server DBA工作内容、工作清单


一、数据库管理员的工作内容



1、规划与建设:


   1、数据库服务器环境的架构评估与规划。
   
           服务器环境的架构规划与数据库以后的运作相关,当服务器环境的架构设计不良,
           将会增加以后数据库性能的限制与维护的困难。
           因此,DBA在整套系统规划初期,就必须针对数据库未来的成长需求、性能需求、商业考虑等方面,
           来决定数据库运作上所需要的内存、硬盘、CPU、其他资源。
   
   2、安装及升级数据库软件。
   
           这是最基本的工作之一,在安装SQL Server软件时,务必了解不同选项所代表的意义,
           在升级SQL Server软件前,要确认是否会影响到操作系统及应用程序。
     
   3、数据库的创建与设置。
   

            当安装完SQL Server软件后,就要创建数据库,此时要考虑数据库存储方式。

            例如:索引、数据、表的存储位置,是否需要建立分区表。

            也就是必须确认SQL Server的物理结构和逻辑结构,如何以最佳方式展现。

     
   4、建立完善的备份计划。
   
            数据库备份与恢复是DBA最重要的职责之一,当数据库损坏时,整个企业的运作会完全停止,
            各方压力和关爱的电话会接踵而来,等着DBA将数据库在第一时间恢复,
            而完善的备份计划是关键,因此,规划备份时必须考虑到系统的重要性、企业可承担的风险。
     
   5、建立数据库安全管理规范。
   
            需要将数据分门别类,将适当的数据提供给拥有适当权限的人。


 2、营运与维护:
       1、建立和维护数据库使用者、所有对象。
  
              一旦新使用者必须存取数据库,或者原有使用者有权限变更需求时,DBA就必须按照安全管理规范,
              给予适当的权限。当使用者有新增、修改、删除SQL Server对象时,DBA除了按照使用者的需求,做改动,
              还需要给予适当的权限与存储摆放方式。


      2、控制和监控:使用者对数据库的存取,以及数据库资源的使用状况。
  
               通过SQL Server对象资源调度器,将使用者分成不同等级,依照等级的高低,提供不同的数据库资源。

               所谓数据库资源包括:CPU使用量、内存使用率、联机时间等,通过触发器或存储过程,

               来监控对数据库的存取,这样当不正常存取时,可以实时发出警报。      

    
        3、监控数据库的性能、存储状态、可用性。
  

                一般数据库在运作中断前都会有一些细微的征兆,因此当征兆出现时,

                如果能及时分析处理,就能避免不必要的中断损失。   

       
       4、检查数据库备份是否成功、是否有效。
  
                 当有了完善的备份计划后,就必须监控备份是否按照计划且成功的执行,
                 另外,还需要定期将备份进行恢复测试,以确保备份的可用性。
    
         5、监控数据库安全。
  
                善用SQL Server提供的Logon Trigger,确认或记录使用者的身份,避免数据的窃取,保护企业的安全。


3、故障排除与灾后恢复:


  1、调整数据库性能。
  
           数据库的性能可用与否,最终都是由数据库的执行效率、稳定性来判断的,

           而性能问题在一开始设置时,往往不会显现出来,当运行一段时间后,可能由于外在环境、使用者增加、数据            快速积累、程序修改,甚至硬件设备老旧等因素,都会让数据库呈现疲态,

           此时,性能调校对DBA就非常重要了。

    
   2、灾后恢复。
  

            数据库灾后恢复的定义很广泛,小到使用者的误操作,大到硬件损坏、天然灾害、其他不可预期的灾难,

            造成数据库无法正常运行,DBA有责任在最短时间内将数据库恢复,

            这也就是为什么规划备份、监控备份、定期测试备份非常重要的原因了。 



二、数据库管理员的工作清单


   1、每日例行工作:
           每日数据库例行工作,以监控数据库正常运作为主要目的,基本例行工作应该包含以下项目:
  
        1、确认所有SQL Server数据库状态正常。
                  A:从操作系统上检测SQL Server程序是否正常存在
                  B:以正常方式登录所有数据库
    
        2、确认所有SQL Server是否能连接上,也就是是否正常监听。
  
        3、检查操作系统空间使用状态、文件组(文件)的使用情况。  
                    可利用SQL指令查询检查使用状况。
    
        4、检查错误日志ErrorLog中的错误信息,并寻求解决方案。


        5、检查数据库当日所有备份是否成功。


        6、监控数据库运行状况。
                   此部分可利用系统监视器等工具,监控数据库运作状况。 


   2、每周例行工作:
               每周的主要例行工作,除了依照数据库每日工作清单,寻求时机进行修正外,还有检查以下工作事项:
  
       1、根据每日检查的表空间使用情况,找到数据增长很快的表,协调程序开发员,               并发现如下错误。
                  A:是否需要删除无用的历史数据。
                  B:是否需要扩展数据文件、日志文件。
                  C:是否需要收缩数据文件、日志文件。


        2、是否有新增的失效对象、无效的索引。如果有,那么选择适当时机重建。
  
        3、是否有数据碎片。
  
                   所谓数据碎片,可以理解为数据直接的空隙,可能是数据页内部的,也可能是数据页和数据页之间的,
                   这个碎片会导致访问同一个表时,扫描更多的数据页,占用更多的内存,会显著的降低数据库性能。
        

        4、延续每日监控的数据库运行状况,按照需求修改数据库参数,针对没有效率的                 SQL语句进行调优。

 

  

   3、每月例行工作:
             每月的主要例行工作,除了依照数据库每日检查工作清单以及每周检查工作,
             需要寻求适当时机进行修改外,还要检查下列事项:
  
         1、产生每月数据文件的增长报告。
                    可利用SQL语句来产生每月数据库增长报告,以及每月数据文件增长报告。
    
         2、根据每日、每周的监控统计,进行空间管理改进方案。
                    所谓的空间管理改进方案,就是依照每日、每周的监控结果,针对性能较繁重的对象(表、索引),
                    进行特殊的空间改善,以提高性能(比如分区表)。   
  
         3、修正碎片。
                    根据本月每周的检查分析碎片情况,找到相应的解决方法。


         4、每月至少检查一次是否有Chained Rows链接行。
                    分为两种类型:
                                             A:行链接,主要造成的原因是每条数据太长,无法容纳在一个数据块里。
                                             B:行迁移,主要是当数据更新时,造成每条数据过长,必须前移到另一个较大的数据块。
     
         5、针对表及索引进行更新统计信息。
  
                      数据库执行SQL语句时,会依照统计信息分析结果来产生执行计划,
                      因此,统计信息的结果对数据库的性能影响占有相当大的分量。
                      每个月至少一次针对所有表、索引,进行更新统计信息。
  
         6、寻找数据库性能调整的机会。
                      对比每天数据库性能的监控报告,确定是否有必要对数据库性能进行调整。
   
         7、检查备份计划,测试备份的可用性。
  
                    检查备份计划的目的是,确认目前的备份计划是否符合实际需求。
                    比如,每月数据库的增长量是否会延长备份时间,而通常备份的时间是选择在系统不太繁忙时运行,
                    如果由于备份时间延长,而导致数据库系统的正常作业,这就必须针对备份计划进行调整。

                    因此,主要在于检查平时的备份计划是否可正常使用,当数据库损坏时,熟练执行数据库恢复的操作。


原文地址:https://www.cnblogs.com/momogua/p/8304512.html