我以前没有见过SLEEP_TASK等待类型,今天我似乎收到了很多。

我不是正式的DBA,只是一个了解DBA知识的SQL Server开发人员。上周末我们将服务器升级到了10.52.2500.0-R2SP1。

我在网上可以找到的所有信息都表明SLEEP_TASK意味着服务器正在等待某种内部过程完成。我没有任何阻塞或任何后台程序(如检查点或幽灵清理运行)运行,因此我有些困惑。

以前没有人见过这种等待类型,如果可以,可以给我一个是什么原因引起的?

#1 楼

SLEEP_TASK是一般的等待,用于不存在更具体的等待类型的各种事情,但是它确实会散播到tempdb的散列操作(联接/聚合)中,有时在交换时(并行运算符)出现消费者正在等待的不是正常的CXPACKET或EXECSYNC等待的地方。我会先检查是否有哈希散列。