SQLServer DBA 三十问(第11~20题)
11. 死锁如何跟踪;阻塞如何跟踪和查找;发现有问题的语句后,如何进行处理;用Profile做跟踪时,一般我们需要跟踪哪些事件;
答:dbcc traceon(1204) 可以开打跟踪死锁的标记,sqlserver2005新增了1222跟踪标志,就是格式更详细,死锁的信息会记录在errlog文件里,
顺便说下errlog一共有errlog,errlog1~errlog6共7个文件,关于这些可以看看books online,如果觉得books online太乏味,
可以看看徐海蔚的《Microsoft SQLServer企业级平台管理实践》;
相对来说,阻塞的问题比死锁要严重,死锁只是牺牲部分进程,阻塞的话会导致整个系统瘫痪,阻塞的定位我有一篇专门的博客介绍:
sqlserver阻塞定位
要跟踪死锁的话,当然是选择“锁”事件,不过我一般用profiler都是做性能调优的,选 常规——》模板名——》SQLProfileTuning 就ok了,
死锁很少跟踪,因为我们的sqlserver降低了事务隔离级别,基本不会产生死锁,有的话也在可接受的范围内,都是凌晨运行作业时产生的,也不会太多。
12. Windows日志主要有哪几种,SQLServer日志一般保留几个,什么情况下会产生新的SQL日志;数据库日志恢复模式有哪几种,
区别是什么;数据库日志突然变得很大,而且你无法收缩,可能的原因是什么,怎么查找原因,分别将如何处理;
答:windows的日志可以自己看iis就明白了,我一般只看应用程序,一次发现asp.net抛出的错误和异常,解决之;sqlserver的日志一般保留7个,errlog,errlog1~errlog6,每次数据库重启都会产生新的日志,新的日志命名为errlog,旧的日志也会跟着改名,
之前老的errlog改为err
相关新闻>>
- 发表评论
-
- 最新评论 更多>>