关于sql server 2008数据库死锁问题

????_LRJ 2016-11-11 02:49:21
我全部积分就200分,求大神解决不让数据库表锁住,通过数据库设置的方法。
...全文
671 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
????_LRJ 2017-03-21
  • 打赏
  • 举报
回复
iOS客户端,不知道怎样给分,哎,都拖这个久了。怎么结算分数?
????_LRJ 2016-11-14
  • 打赏
  • 举报
回复
引用 6楼黄泽成 的回复:
刚到公司,死锁每天300~500!太恐怖了,优化一遍后,近期很少管了,现在每天还有将近10个。 1. 首先跟踪死锁,找出死锁语句,优化。(语句问题:索引问题、类型转换、join 问题,连接条件……) 2. 后台先跟踪一天的大于三五秒的语句,隔天再分析耗时或者耗IO较大的语句,优化。 3. 用系统dmv查看缓存中的计划,看看哪些执行计划、语句耗IO、CPU、时间较多的,优化。 4. 高峰时期执行dmv查看当前的语句,哪些语句出现什么问题最多,优化。 要想查询快,就必须走索引。但不一定都加索引,有些操作不频繁的,增加反而影响更新,也同样导致死锁。若语句出现有多线程执行,尽量优化成单线程(大部分是语句没走索引导致扫描并发线程),同样也就减少cpu了。死锁直接体系的结果,主要是sql语句问题,影响着影响着 memory、IO、cpu等
多谢回答,我用了一个愚蠢的方法暴力解决这个问题
薛定谔的DBA 2016-11-11
  • 打赏
  • 举报
回复
刚到公司,死锁每天300~500!太恐怖了,优化一遍后,近期很少管了,现在每天还有将近10个。 1. 首先跟踪死锁,找出死锁语句,优化。(语句问题:索引问题、类型转换、join 问题,连接条件……) 2. 后台先跟踪一天的大于三五秒的语句,隔天再分析耗时或者耗IO较大的语句,优化。 3. 用系统dmv查看缓存中的计划,看看哪些执行计划、语句耗IO、CPU、时间较多的,优化。 4. 高峰时期执行dmv查看当前的语句,哪些语句出现什么问题最多,优化。 要想查询快,就必须走索引。但不一定都加索引,有些操作不频繁的,增加反而影响更新,也同样导致死锁。若语句出现有多线程执行,尽量优化成单线程(大部分是语句没走索引导致扫描并发线程),同样也就减少cpu了。死锁直接体系的结果,主要是sql语句问题,影响着影响着 memory、IO、cpu等
????_LRJ 2016-11-11
  • 打赏
  • 举报
回复
引用 2楼hyrongg 的回复:
deadlock 只能从索引和程序上面入手,可以在数据库上面dbcc traceon(1222,-1),这样所有的死锁信息就会写入日志,从日志里面拿到deadlock 的具体信息,创建应该有的索引基本就可以解决了
感谢答复,我可以通过重新分表解决,可是太麻烦了
????_LRJ 2016-11-11
  • 打赏
  • 举报
回复
引用 3楼不想长大啊 的回复:
死锁很难控制不发生。 一般解决死锁都是从代码着手,尽量让代码获取锁的顺序一致。 你可以先用sql profile监控死锁,知道到底是在哪些表上有死锁,涉及到哪些代码,然后再想办法,是该代码,还是说参数修改。 有些死锁,特别是修改数据时发生的死锁,通过参数设置是解决不了的。必须要针对不同的情况,分别处理
哎,开始考虑不全,几台电脑同时对数据库一个表操作。重新分表,工作量太大了,还要改代码,来这里试试看有没有简答的方法解决这个问题。
LongRui888 2016-11-11
  • 打赏
  • 举报
回复
死锁很难控制不发生。 一般解决死锁都是从代码着手,尽量让代码获取锁的顺序一致。 你可以先用sql profile监控死锁,知道到底是在哪些表上有死锁,涉及到哪些代码,然后再想办法,是该代码,还是说参数修改。 有些死锁,特别是修改数据时发生的死锁,通过参数设置是解决不了的。必须要针对不同的情况,分别处理
hyrongg 2016-11-11
  • 打赏
  • 举报
回复
deadlock 只能从索引和程序上面入手,可以在数据库上面dbcc traceon(1222,-1),这样所有的死锁信息就会写入日志,从日志里面拿到deadlock 的具体信息,创建应该有的索引基本就可以解决了
????_LRJ 2016-11-11
  • 打赏
  • 举报
回复
准备给200分的,第一次发帖,还不会操作

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧