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数据库集群软件(应用级双活、故障时数据零丢失、安装维护简单)。不建议采用第三方的双机热备或者第三方的容灾备份方案。
SQLSERVER 检查内容的更多相关文章
- sqlserver 字段内容做in条件 列变成行显示
sqlserver中 字段内容做in条件用到方法:CHARINDEX(value,situation) 列变行显示用到:stuff 详情自行查找. 例子: stuff((select ','+name ...
- js 检查内容是否为空
var NoViods = document.getElementsByClassName("NoVoid"); ; i < NoViods.length; i++) { i ...
- 【2018-01-26】SqlServer 检查死锁和阻塞
利用sys.sysprocesses SQL进程检查是否出现死锁和阻塞 Sys.SysProcesses 系统表是一个很重要的系统视图,主要用来定位与解决Sql Server的阻塞和死锁 select ...
- SQLSERVER 检查字段值域并输出行数和值列表
select * from ( SELECT 'C_DILEI' as fen,'地类' as fcn, 'NVARCHAR'as ftype, '2'as flen, ( SELECT count( ...
- sqlserver查询分析器在本地服务器查看其它SqlServer服务器内容
exec sp_addlinkedserver 服务器自命名,'',sqloledb,要查询服务器的IP地址 exec sp_addlinkedsrvlogin 服务器自命名,false,null,账 ...
- sqlserver检查sql执行时间
set statistics profile onset statistics io onset statistics time onGO select * from mytable; goset s ...
- loadrunner怎么进行内容检查
运行测试时,常常需要验证某些内容是否出现在返回的页面上.内容检查验证脚本运行时 Web 页面上是否出现期望的信息.可以插入两种类型的内容检查:➤ 文本检查.检查文本字符串是否出现在 Web 页面上.➤ ...
- SqlServer环境配置和卸载
一.数据库简介 SQLServer环境配置 安装好数据库以后怎么启用sa账号,来访问数据库. 1.先用windows账号登录数据库. 2.启用windows身份验证方式和sql server身份验证方 ...
- SharePoint 2013 内容部署功能简介
在之前的项目中,当客户有新的需求的时候,我们通常在测试环境上开发或者实施,然后手动在生产环境再弄一次.当发现内容部署这个东西,才知道这样是多么不合理的.我们可以创建两个网站集,一个用来修改,然后通过计 ...
随机推荐
- JS获取当前日期、比较日期大小
//获取当前时间,格式YYYY-MM-DD function getNowFormatDate() { var date = new Date(); var seperator1 = "-& ...
- [转]tensorflow中的gather
原文链接 tensorflow中取下标的函数包括:tf.gather , tf.gather_nd 和 tf.batch_gather. 1.tf.gather(params,indices,vali ...
- mysql出现unblock with 'mysqladmin flush-hosts'
朋友发来消息,说一个系统应用登录的时候提示连接超时,让帮忙处理一下.问他应用和数据库是否都正常,回复说数据库好像没有问题,但是应用日志报无法连接数据库. 数据库版本是:5.5.53 让他telnet数 ...
- Spring Boot系列——日志配置
日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节.但是,这丝毫不影响它在任何一个系统中的重要的地位. 为了保证服务的高可用,发现问题一定要即使,解决问题一定要迅速,所以生 ...
- Delphi XE以后的版本 程序如何瘦身
第一步:关闭debug infomation. 打开工程后,依次点击project--option--delphi compiler--linking 将右边Debug information改为Fa ...
- 【Spark深入学习 -13】Spark计算引擎剖析
----本节内容------- 1.遗留问题解答 2.Spark核心概念 2.1 RDD及RDD操作 2.2 Transformation和Action 2.3 Spark程序架构 2.4 Spark ...
- Sql Server 中将由逗号“,”分割的一个字符串转换为一个表集,并应用到 in 条件中
Sql Server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件 ,,) 这样的语句和常用,但是如果in 后面的 1,2,3是变量怎么办呢,一般会用字符串连接的方式构造sql ...
- .NET Core Session的使用方法
刚使用.NET Core会不习惯,比如如何使用Session:不仅需要引用相应的类库,还需要在Startup.cs里进行注册. 1.在你的项目上基于NuGet添加: install-package M ...
- 解决wps/office 1-2自动转换1月2日,用样式解决此问题
添加样式: td{mso-number-format:"\@"; }
- PXE:kickstart配置文件:全自动安装centos、redhat 系统的配置
default menu.c32 #多网卡,其实centos7会自动处理,默认使用第一个网卡 label centos76 menu label ??? centos76 from ftp timeo ...