等待类型 : MSSEARCH 巨坑
SQL server 2005 我KILL了一个等待类型为MSSEARCH的进程,然后KILL之后sys.sysprocesses 表里面的status=runnable ,cmd=KILLED/ROLLBACK 。要命的是再一次KILL这个进程的时候会提示:“SPID 126: 正在进行事务回滚。估计回滚已完成: 0%。估计剩余时间: 0 秒。” 这个回滚持续了三天了,要命的是这个SPID对应的查询里面涉及的表无法做rebuild index 。
MSSEARCH--官方解释:在全文搜索调用期间出现。该等待在全文操作完成时结束。它不指示争用,而指示全文操作的持续时间。
dbcc inputbuffer(126) 查看此进程执行的SQL就是一个普通的.net端传过来的select 。
请嫑让我重启服务,伤不起。
哪位大神遇到过这个恶心的问题,请不吝赐教。
------解决思路----------------------
你看一下全文索引,然后你看看,能否把全文索引停掉,因为默认全文索引是这样的,如果有新的数据插入到表里,会自动维护全文索引,你把这个维护停掉,然后看看 能否把全文索引的服务关掉。
------解决思路----------------------
先关了,再开嘛,现在的问题就是 感觉不知道是哪儿的问题,导致卡住了。
------解决思路----------------------
你看一下全文索引,然后你看看,能否把全文索引停掉,因为默认全文索引是这样的,如果有新的数据插入到表里,会自动维护全文索引,你把这个维护停掉,然后看看 能否把全文索引的服务关掉。
忘了说一点,就是全文索引服务更新导致的。但是问题是全文索引服务不能关,因为我们的DB有使用全文索引。。。唉,刚才说的时候漏了这点。
先关了,再开嘛,现在的问题就是 感觉不知道是哪儿的问题,导致卡住了。
兄台 ,除此之外可还有其他方法?
暂时没有想到其他的方法,另外,控制一下,别让客户端再去点击这方面的功能,禁止发送 全文检索方面的sql了,减轻一下压力
------解决思路----------------------
暂时没有想到其他的方法,另外,控制一下,别让客户端再去点击这方面的功能,禁止发送 全文检索方面的sql了,减轻一下压力
目前DB是没什么压力,我只是担心天长日久之后会出现性能瓶颈,因为有几张表的索引没法维护。
如果重启全文索引的服务,之前弄的全文索引都需要重新弄吗?
不需要,接着增量维护的,就像比如我把数据库关掉了,那索引都需要重建,这个显然不可能,等你启动后 ,一有数据插入,然后自动开始增量维护的。