zoukankan      html  css  js  c++  java
  • SQLSERVER 检查内容


    巡检内容:

    1系统信息
    A. 机器名称:
    B. 硬件配置:Intel(R) CPU E5-2630 2.3GHz(2处理器),24核,16G内存
    C. 操作系统版本:Windows Server 2008 R2 X64 企业版 Windows NT 6.1 (Build 7600: )
    D. 数据库版本:Microsoft SQL Server 2005 SP3- 9.00.4035.00 (X64)
    E. 工作模式:Windows域模式,域为tict.com.cn
    F. 数据库端口:1433
    G. 业务系统:
    H. 内存使用:物理内存16G,实际使用5.95G,设置了最大内存12G。

    2系统环境检查
    A. 检查系统日志
    a) 使用“事件查看器”,查看系统日志,关注错误信息排查错误。
    检查结果:正常
    b) 重点关注与SQLServer相关的日志信息。
    检查结果:有比较多的SA账户登陆失败,需进一步排查。
    c) 及时备份与清理过期的日志信息。
    B. 检查磁盘空间
    a) 有C、D、E三个盘符,系统文件在C盘上,数据文件和日志文件在D盘上。
    b) 检查系统文件所在的磁盘空间使用情况
    检查结果:正常 已用空间:43.7G,可用空间53.9G
    c) 检查数据文件所在的磁盘空间使用情况
    检查结果:正常 已用空间:8.62G,可用空间479G
    d) 检查日志文件所在的磁盘空间使用情况
    检查结果:正常 已用空间:8.62G,可用空间479G
    e) 检查备份的磁盘空间使用情况
    检查结果:单机运行,没有备份。

    3数据库性能巡检
    检查项目 检查结果 指标说明
    磁盘使用情况
    PhysicalDisk-> AVG.Disk Aueue Length 正常 显示每一个磁盘的队列长度。不要选择_TOTAL对象,而是查看某驱动盘符的队列长度,如果参数值持续大于2,则可能影响性能。
    PhysicalDisk-> AVG.Disk sec/Read 正常 显示每次读取的平均磁盘时间,理想情况下值小于10毫秒。
    PhysicalDisk-> AVG.Disk sec/Write 正常 显示每次写入的平均磁盘时间,理想情况下值小于10毫秒。
    SQL Serve Access Methods->Fullscans/sec 正常 显示每秒请求完全索引扫描或者全表扫描的数目,如果扫描频率每秒大于1,那么说明索引缺少或者索引比较差。
    SQL Server Access Methods-> PageSplits/sec 正常 显示每秒页面拆分的次数。可以通过适当的索引维护或者好的填充因子来避免发生。
    CPU使用情况 低于3%
    System-> Processor Queue Length 正常 显示系统队列长度,如果平均值大于3,那么说明cpu存在瓶颈。
    Processor->%Privilege Time 正常 显示操作系统内部操作所花费的时间
    SQL Server: SQL Statistics->SQL Compilations/sec 正常 显示查询计划的编译次数。次数过高的话,说明可能未使用绑定变量导致计划重新编译,或者说重新编译次数比编译次数过高的话,那么说明存在应用上的瓶颈。
    SQL Server: SQL Statistics->SQL Re-Compilations/sec 正常 显示查询计划的重编译次数。次数过高的话,说明可能未使用绑定变量导致计划重新编译,或者说重新编译次数比编译次数过高的话,那么说明存在应用上的瓶颈。
    内存使用情况 5.95G
    DBCC MEMORYSTATUS 正常 重点查看buffer counts部分:
    其中committed memory和target memory最重要。
    Committed memory表示sql server已经得到的内存数量
    target memory表示有效运行所需的内存数量。
    当两个存在差别过大,说明可能存在内存压力。
    SQLServer:Buffer Manager-> Page Life Expectancy 正常 显示数据页在缓冲池中驻留的时间长度(单位是秒)。值越大,系统越健康。如果存在内存瓶颈,这个值会低于300s或者更少。
    SQLServer:Buffer Manager-> Buffer cache hit ratio 正常 显示数据库内存命中率,所请求的数据或者说页面在缓冲池被找到的次数,如果很低说明内存不足,此值一般大于98%
    SQLServer:Buffer Manager-> Stolen pages 正常 当这个指标与目标内存页面数比例较大时可能存在问题。
    SQLServer:Buffer Manager->Memory Grants Pending 正常 显示等待内存授权的进程队列。这个指标值为0时理想状态。
    SQLServer:Buffer Manager->Checkpoint pages/sec 正常 显示检查点操作每秒写入磁盘的脏页数目。如果这个值很高,说明缺少内存。
    SQLServer:Buffer Manager-> Lazy writes/sec 正常 显示每秒将脏页从内存写到磁盘的次数。这个值应该尽可能接近0,当大于20或者更多,确信缓冲池不够。

    4数据库维护巡检
    A. 主数据库(业务数据库)(查看数据文件和日志文件增长情况)
    检查结果:正常 自动增长,每次增长10%,空间足够。
    B. 镜像数据库
    检查结果:单机数据库运行,没有配置镜像。
    C. 辅助数据库(Log Shipping)
    检查结果:单机数据库运行,没有配置日志传送(Log Shipping)。
    D. 作业运行状况(通过图形界面“作业活动监视器”查看)
    检查结果:没有作业,没有启动SQL Agent。
    E. 备份状况(查看备份是否成功、验证备份集(RESTORE VERIFYONLY )、定期做数据库灾难恢复的演练-还原、HA)
    检查结果:没有备份,也没有做双机热备HA。

    5. 总结及建议

     总结:

    1.. 数据库性能:CPU消耗低,2%以下,内存充足,不到设置的最大内存12G的50%,硬盘空间也充足。

    2. 数据库安全性:较多的SA登陆失败,可能是正常的密码输入错误引起,也可能涉及安全风险。

    3. 数据库备份容灾:当前用户只是在同一个硬盘、同一个SQL实例里有多个数据库,但是没有做普通意义上的备份和容灾,存在数据丢失风险。

    建议:

    1. 进一步核实SA登陆失败的原因。

    2. 数据库的备份很重要,建议做好物理备份,物理备份和源数据库文件不能位于同一个物理磁盘上,一般需要位于不同的物理服务器上。鉴于财务系统的重要性,有预算的话,建议采用性价比高的第三方DBTwin数据库集群软件(应用级双活、故障时数据零丢失、安装维护简单)。不建议采用第三方的双机热备或者第三方的容灾备份方案。

  • 相关阅读:
    Python3 学习第八弹: 模块学习一之模块变量
    Python3 学习第六弹: 迭代器与生成器
    Python3 学习第五弹:类与面向对象
    Java之泛型
    Java之工具类Collections
    Java之map
    Java集合之List
    Java集合之TreeSet
    Java集合
    Java异常处理
  • 原文地址:https://www.cnblogs.com/dahaoran/p/9447131.html
Copyright © 2011-2022 走看看