症状
假设在 Microsoft SQL Server 2014 中有一个具有大量行和全文索引的表。 当您尝试在单个事务中删除表中的大量行时,架构锁作为从全文索引中删除行的一部分进行,并且所有其他操作查询被删除操作阻止。
原因
出现此问题的原因是,当您从带有全文索引的大型表中删除大量行时,全文索引上的 delete 进程在嵌套事务中执行。 对全文索引的删除可能需要较长时间,即使基础表中的行的 "删除" 快速完成。 如果服务器已关闭或重新启动,此操作将恢复全文索引上的所有删除操作进度。 它还会导致对基表和大量事务锁的阻塞太多。
解决方案
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 2014 的累积更新4 /en-us/help/2999197
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。