我们在SQL Server 2014上进行了测试,当时我们有10个数据库,每个数据库中有100个不同的架构,每个架构中有10个小表(〜50行)(总共有10K个表),并在所有这些表上创建了全文本索引所有这些数据库中的表。
几分钟后,我们发现SQL Server停止接受任何连接(ADMIN:.
连接除外)。如果重新启动服务器,则可以连接,但有时会再次挂起。经过一些调查,我们发现它是由消耗所有工作线程引起的dm_os_tasks
,dm_os_waiting_tasks
并向我们显示了状态中有很多FT_MASTER_MERGE
等待SUSPENDED
。我们用谷歌搜索“全文正在等待主合并操作”,但没有找到更多有关它的实际信息。
我们尝试了不同的全文目录配置:每个DB一个目录,每个模式一个目录,每个索引一个目录。无论如何,服务器将所有这些挂起的任务挂起。
什么是等待的根本原因,如何解决/减轻这种等待?
在如此大量的表上启用全文的推荐方法是什么?