青阳网>追踪>正文

SQL Server常见问题介绍及快速解决建议

2019-01-13 18:15:36 SQL专家云技术团队 分享

  前言

  本文旨在帮助SQL Server数据库的使用人员了解常见的问题,及快速解决这些问题。这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架。

  下面一些问题是在近千家数据库用户诊断时发现的常规问题,本文分为【常见问题诊断流程】-【常见问题】-【常见问题快速解决的建议】

  常见问题诊断流程

  概览模块—[汇总]了解系统

  了解系统性能(语句执行时间、会话等待)

  语句执行时间:横坐标为时间范围,纵坐标为在执行时间在范围内分布的语句数量。

  (本例:收集时间内语句执行时间在3-5秒的语句数量有1103条,5-10秒,10-20秒慢语句数量很多,说明系统语句执行缓慢,系统存在性能问题)

  会话-等待类型:横坐标为等待类型,纵坐标为等待数量。

  (本例:系统中发生大量的等待,说明系统存在性能问题)了解系统运行指标(CPU、内存、磁盘计数器)

  通过3个主要计数器诊断系统是否存在瓶颈和产生瓶颈的资源。

  了解系统请求压力(批处理请求/每秒、连接数)

  了解系统中每秒请求的语句数量和系统打开的连接数量,掌握系统压力量级。

  (注:可多次收集分析,掌握系统压力波动和处理能力)

  了解系统问题严重度(检查项、SQL错误日志类型)

  了解系统中的潜在风险与缺陷情况

  (红色:严重程度高,建议问题全部解决)

  [检查项]模块—[全部]发现系统问题

  从系统、参数、会话、性能计数器、查询语句、作业、日志、执行计划、tempdb、业务数据库多方面呈现系统存在的问题与隐患。

  (绿色:配置标准,蓝色:严重程度低,橙色:严重程度中等,红色:严重程度高,可能造成风险)

  常见问题

  性能问题性能参数配置不合理:硬件不能发挥最大性能 系统等待严重:导致语句运行缓慢 执行超过3秒的语句数量多:客户体验差 存在缺失索引情况:导致语句运行缓慢,消耗过多系统资源

  环境问题磁盘空间规划问题:磁盘空间不足或不能满足未来业务 补丁不是最新:由于微软版本缺陷导致部分功能异常。

  备份问题备份缺失:故障发生会导致全部数据丢失 备份计划不合理:导致性能问题或长时间数据丢失风险 备份文件与数据文件同盘:磁盘发生故障,导致数据与备份一起丢失或损坏

  可用性问题数据库单点风险:发生故障会导致业务中断,故障导致数据丢失

  安全问题缺少数据一致性检查(checkdb):不能及时发现数据损坏而最终导致数据库故障和数据丢失 大量登录失败:检查系统是否受到攻击或是否程序修改导致大量登录失败

  结构设计问题超过10分钟会话并带有事务:长时间存在不提交事务,会导致程序阻塞,检查应用程序是否有连接泄露 存在隐式转换:导致不能使用索引(例:表字段定义varchar,程序传参类型为nvarchar) 表缺少聚集索引:导致性能问题 表上外键缺失索引:导致性能问题

  快速解决问题与常规建议

  快速解决性能问题

  配置系统参数

  查看不合理参数—点击操作按钮

  在弹出页查看当前运行值,与建议值。

  弹出优化配置脚本—如需修改文本—在服务器运行即可修改

  添加缺失索引

  在【数据库】模块的【缺失索引】中,创建数据库的缺失索引。

  注:并非所有提示的索引都需要创建,根据【平均影响百分比】【平均用户开销百分比】【用户查找次数】情况综合评价,建立系统中缺失的重要索引。并综合【相等列】【不等列】【包含列】创建包含多种情况的最优索引。

  根据执行频率和开销分析重点语句

  在【查询语句】模块的【查询语句】-【汇总视图】中,通过【执行次数】或【cpu时间】【读次数】【写次数】【影响行数】等对重点语句,重点优化。

  点击语句可以进入【分类视图】,语句的详细执行信息页

  在【分类视图】页面,可以点击语句进入【关联项】查看每条语句执行的具体信息及执行计划,等待等信息。

  环境问题的建议

  磁盘规划按照文件类型划分:数据文件、日志文件、tempDB文件、备份文件,分别放在一个物理磁盘(4块物理磁盘) 按照数据库划分:不同的业务数据库(压力大的)分别放在一个物理磁盘,tempDB和备份文件各一个物理磁盘。(大型业务库数+2)

声明:本站部分资源来源于网络,版权归原作者或者来源机构所有,如作者或来源机构不同意本站转载采用,请通知我们,我们将第一时间删除内容。本站刊载文章出于传递更多信息之目的,所刊文章观点仅代表作者本人观点,并不意味着本站赞同作者观点或证实其描述,其原创性及对文章内容的真实性、完整性、及时性本站亦不作任何保证或承诺,请读者仅作参考。
编辑:小青