巡检内容:

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数据库集群软件(应用级双活、故障时数据零丢失、安装维护简单)。不建议采用第三方的双机热备或者第三方的容灾备份方案。

SQLSERVER 检查内容的更多相关文章

  1. sqlserver 字段内容做in条件 列变成行显示

    sqlserver中 字段内容做in条件用到方法:CHARINDEX(value,situation) 列变行显示用到:stuff 详情自行查找. 例子: stuff((select ','+name ...

  2. js 检查内容是否为空

    var NoViods = document.getElementsByClassName("NoVoid"); ; i < NoViods.length; i++) { i ...

  3. 【2018-01-26】SqlServer 检查死锁和阻塞

    利用sys.sysprocesses SQL进程检查是否出现死锁和阻塞 Sys.SysProcesses 系统表是一个很重要的系统视图,主要用来定位与解决Sql Server的阻塞和死锁 select ...

  4. SQLSERVER 检查字段值域并输出行数和值列表

    select * from ( SELECT 'C_DILEI' as fen,'地类' as fcn, 'NVARCHAR'as ftype, '2'as flen, ( SELECT count( ...

  5. sqlserver查询分析器在本地服务器查看其它SqlServer服务器内容

    exec sp_addlinkedserver 服务器自命名,'',sqloledb,要查询服务器的IP地址 exec sp_addlinkedsrvlogin 服务器自命名,false,null,账 ...

  6. sqlserver检查sql执行时间

    set statistics profile onset statistics io onset statistics time onGO select * from mytable; goset s ...

  7. loadrunner怎么进行内容检查

    运行测试时,常常需要验证某些内容是否出现在返回的页面上.内容检查验证脚本运行时 Web 页面上是否出现期望的信息.可以插入两种类型的内容检查:➤ 文本检查.检查文本字符串是否出现在 Web 页面上.➤ ...

  8. SqlServer环境配置和卸载

    一.数据库简介 SQLServer环境配置 安装好数据库以后怎么启用sa账号,来访问数据库. 1.先用windows账号登录数据库. 2.启用windows身份验证方式和sql server身份验证方 ...

  9. SharePoint 2013 内容部署功能简介

    在之前的项目中,当客户有新的需求的时候,我们通常在测试环境上开发或者实施,然后手动在生产环境再弄一次.当发现内容部署这个东西,才知道这样是多么不合理的.我们可以创建两个网站集,一个用来修改,然后通过计 ...

随机推荐

  1. JS获取当前日期、比较日期大小

    //获取当前时间,格式YYYY-MM-DD function getNowFormatDate() { var date = new Date(); var seperator1 = "-& ...

  2. [转]tensorflow中的gather

    原文链接 tensorflow中取下标的函数包括:tf.gather , tf.gather_nd 和 tf.batch_gather. 1.tf.gather(params,indices,vali ...

  3. mysql出现unblock with 'mysqladmin flush-hosts'

    朋友发来消息,说一个系统应用登录的时候提示连接超时,让帮忙处理一下.问他应用和数据库是否都正常,回复说数据库好像没有问题,但是应用日志报无法连接数据库. 数据库版本是:5.5.53 让他telnet数 ...

  4. Spring Boot系列——日志配置

    日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节.但是,这丝毫不影响它在任何一个系统中的重要的地位. 为了保证服务的高可用,发现问题一定要即使,解决问题一定要迅速,所以生 ...

  5. Delphi XE以后的版本 程序如何瘦身

    第一步:关闭debug infomation. 打开工程后,依次点击project--option--delphi compiler--linking 将右边Debug information改为Fa ...

  6. 【Spark深入学习 -13】Spark计算引擎剖析

    ----本节内容------- 1.遗留问题解答 2.Spark核心概念 2.1 RDD及RDD操作 2.2 Transformation和Action 2.3 Spark程序架构 2.4 Spark ...

  7. Sql Server 中将由逗号“,”分割的一个字符串转换为一个表集,并应用到 in 条件中

    Sql Server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件 ,,) 这样的语句和常用,但是如果in 后面的 1,2,3是变量怎么办呢,一般会用字符串连接的方式构造sql ...

  8. .NET Core Session的使用方法

    刚使用.NET Core会不习惯,比如如何使用Session:不仅需要引用相应的类库,还需要在Startup.cs里进行注册. 1.在你的项目上基于NuGet添加: install-package M ...

  9. 解决wps/office 1-2自动转换1月2日,用样式解决此问题

    添加样式:  td{mso-number-format:"\@"; }

  10. PXE:kickstart配置文件:全自动安装centos、redhat 系统的配置

    default menu.c32 #多网卡,其实centos7会自动处理,默认使用第一个网卡 label centos76 menu label ??? centos76 from ftp timeo ...