sql运行大量数据要分配大量的空间的.但不会自动释放.但重启,问题依旧,就奇怪了.

解决方案 »

  1.   

    现在我是一但重启,sql服务一起来,系统就奇慢
      

  2.   

    关键看你的存储过程在进行什么处理.不是将其停止就可以中止其处理的, 如果你的存储过程中进行了大量的事务处理动作,比如进行了很多大的更新, 那么在中止存储过程的时候, sql server必须回滚所有的事务才能最终中止整个存储过程.
    在这个回滚的过程中, 就会导致sql server运行缓慢.一个比较简单的方法,到企业管理器--管理--当前活动--看看有没有你的存储过程相关的spid如果有,你可以在查询分析器中 kill spid
    看看事务回滚到 百分之多少
    我遇到个几个大的事务回滚都这严重拖慢了sql server处理(最严重的一个是因为事务涉及到的数据实在太多,最终只能停止sql 服务,御掉那个数据库才解决问题),这算是正常的现象. 不要用大的事务是解决的办法.
      

  3.   

    如果属于我说的事务回滚导致的, 重启是没有用的,因为sql server重新后, 会继续做回滚事务的操作, 这和没重启是一样的.
      

  4.   

    kill时,系统提示:
    服务器: 消息 6107,级别 14,状态 1,行 1
    只能取消用户进程。
      

  5.   

    因为你已经重新启动过sql server,所以 kill 是没用的, 重新启动后,sql server是用系统进程进行回滚事务的处理.
      

  6.   

    不是重新安装, 是停止sql 服务,把有问题的数据库的数据文件移到其他地方,这样sql启动不会处理这个数据库了.然后将有问题的数据库移动到空闲的电脑,附加上去, 让sql server完成回滚处理后,再放回服务器.