2015年8月17日

一个表缺失索引发的CPU资源瓶颈案例

摘要: 背景近几日,公司的应用团队反应业务系统突然变慢了,之前是一直比较正常。后与业务部门沟通了解详情,得知最近生意比较好,同时也在做大的促销活动,使得业务数据处理的量出现较大的增长,最终系统在处理时出现瓶颈。分析和追踪问题的根源首先:通过工具追踪服务器的性能,主要定位什么资源、在什么时候出现瓶颈。这样的工... 阅读全文

posted @ 2015-08-17 22:00 same.zhao 阅读(2368) 评论(3) 推荐(8) 编辑

2015年8月15日

查看当前数据库正在运行的Session

摘要: 当数据库运行比较缓慢时,我们需要实时查看当前有什么Session在运行,获得信息越完整,对于分析低性能的原因越有帮助。根据之前调优的经历,简单几步分析如下:1.通过SQL Server内置的Sp_who查询2.更深入的可以通过Sp_who2查询3.比第2点更丰富的,可以通过下面的语句,不但可以查询出... 阅读全文

posted @ 2015-08-15 21:31 same.zhao 阅读(7571) 评论(0) 推荐(0) 编辑

2015年8月12日

数据库日常维护-CheckList_03有关数据库数据文件大小检查

摘要: 日常数据维护中容量规划是每个DBA的基础工作之一,也是非常重要的工作。在生产环境中一些比较重要的业务数据库会用前期容量规划不足,或出现意外的爆发式的数据增长,直至盛满整个磁盘空间,系统会无法使用,最终业务受到影响。这时候,如果没有及时的磁盘预警的情况下会更糟糕,最终带来经济损失。那么,为了避免这种情... 阅读全文

posted @ 2015-08-12 21:37 same.zhao 阅读(445) 评论(0) 推荐(0) 编辑

2015年8月10日

数据库日常维护-CheckList_02有关数据库备份检查

摘要: 数据库备份是DB日常运维中最基本的也是最重要的工作,很多情况下都是做成作业形式实现自动化周期性的做全备、差异以及日志备份。那么,如果作业出现问题没有完成工作,我们可以设置自动报警如email被动提醒我们,当然也可以使用下面脚本主动地对多个数据库服务上数据库备份情况做详细了解,详细代码分享如下:---... 阅读全文

posted @ 2015-08-10 20:58 same.zhao 阅读(428) 评论(0) 推荐(0) 编辑

SQL 性能调优中可参考的几类Lock Wait

摘要: 在我们的系统出现性能问题时,往往避不开调查各种类型 Lock Wait,如Row Lock Wait、Page Lock Wait、Page IO Latch Wait等。从中找出可能的异常等待,为性能优化做一定的参考 。具体的查询语句分享如下, /************************* 阅读全文

posted @ 2015-08-10 20:28 same.zhao 阅读(581) 评论(0) 推荐(0) 编辑

2015年7月21日

不太被人提起的%%lockres%%的妙用

摘要: %%lockres%%这个值似乎很少被大家提到,甚至微软在官方文档中. 它返回是一个Hash Value,看乎这个值没什么用。后来在实践也有它的妙用之处,比如在出现性能问题如LOCK时,一般先通过sys.dm_tran_locks去查看什么东西被lock,是什么级别的LOCK,是表、页、记录行?一旦... 阅读全文

posted @ 2015-07-21 17:30 same.zhao 阅读(354) 评论(0) 推荐(0) 编辑

2015年7月20日

批量Shink所有日志或数据文件

摘要: 近期,因磁盘空间问题,当执行常规性维护如碎片整理等后会报磁盘空间不足警告,因条件又无法及时添加磁盘空间,这时候不得不对LOG文件做收缩,如果遇到库比较多的实例上,一个一个来却是比较麻烦,可通过如下SQL来处理:---定义变量DECLARE @DBName AS NVARCHAR(100)DECLAR... 阅读全文

posted @ 2015-07-20 21:20 same.zhao 阅读(237) 评论(0) 推荐(0) 编辑

2015年7月15日

除了技术,我们还要有

摘要: 从事数据库相关技术工作中,技术能力非常重要,还有其他方面素质或能力,更值得关注,罗列总结以下八点:1. SQL方面的知识和经验2. 可信任和依赖的3. 即可独立工作和与团队合作4. 积极处理任务或问题态度5. 不要责怪他人6. 充分理会保护公司数据安全的重要性7. 在书写或是口头交流上的能力8. 与... 阅读全文

posted @ 2015-07-15 06:29 same.zhao 阅读(182) 评论(0) 推荐(0) 编辑

2015年7月14日

当触碰一个陌生的数据库前,我要问些什么样问题

摘要: DBA除了在日常运维,经常临时接到任务对某某个DB Server做调优,或接手一批新的生产DB Server。那么在处理任何问题前,如何为这些数据库服务器号准脉,罗列如下几点:1.是生产库?2.如果数据库停掉,对应的应用停掉影响?3.当应用停掉,会对实际业务造成损失?4.应用变慢,影响如何?5.最后... 阅读全文

posted @ 2015-07-14 10:45 same.zhao 阅读(380) 评论(0) 推荐(0) 编辑

2015年7月10日

数据库日常维护-CheckList_01历史Agent Job执行情况检查

摘要: 检查Agent Job中日常维护作业或业务作业是否成功,如每天的备份、碎片整理、索引维护、历史备份文件清除等,可利用SSMS工具,通过CDC下面设置好的DB Server List,运行下面脚本一次,便可以查询完成所有JOB历史运行情况。--SQL-- 参数定义DECLARE @PreviousDa... 阅读全文

posted @ 2015-07-10 21:18 same.zhao 阅读(316) 评论(0) 推荐(0) 编辑

导航