如题,sql server 2008中的一个库坏了,sql正在自动修复,耗费io相当高,怎么把自动修复给停了,会不会影响到其他库?请高人指点,急求!

解决方案 »

  1.   

    如果你确定是I/O非常高的话,可以考虑这样,打开SQLServer management studio,右键实例,选择【报表】→【活动-排在前面的会话】,然后在里面看看那个会话是修复的,然后kill 会话号,就可以了。不过强烈建议还是让SQLServer自己来处理。
      

  2.   

    sp_who命令可以看到处理的SPID,比如SPID为56,则使用KILL 56可以删除该操作。
      

  3.   


    这样的话会不会影响到其他数据库,kill的时间大概需要多长,io高么?
    要是以后还想再恢复数据库怎么办?还有办法恢复吗?
      

  4.   


    你看清楚SPID对应的是不是你的数据库,只要是,那么就对别的库没影响。取消恢复后能不能再恢复?你说的恢复是指还原数据库吗?如果还原数据库的话,只有有备份,随时都可以还原。
      

  5.   

    在跟踪中找到那个spid
    然后看他的活动。
    DBCC INPUTBUFFER(spid) Kill spid
      

  6.   


    这个恢复指重启sql server后这个问题库会不会自动repaire(现在就是由于表出问题了,sql在自动修复,导致IO过高)
      

  7.   


    kill 不掉……!肿么办啊?
      

  8.   

    你说的修复是指什么?查看过日志文件吗?建议不要KILL进程,先找出原因然后寻求解决办法。