Why does a Columnstore index build often wait on SLEEP_TASK? I'm building a Columnstore index right now. The output from sp_whoisactive:



This is a dev machine. Nothing else is running. The server has 8GB of memory available to it. The CPU is nearly idle. The build seems to be in the global dictionary sampling phase because sqlservr.exe is doing random disk IO and writing almost nothing.

Does this SLEEP_TASK indicate that I can take action to make the index build go faster? Why is the build "sleeping" sometimes?

This is SQL Server 2014 SP1.
SLEEP_TASK Idle Generic Sleep.
SLEEP_TASK is a general wait, used for all sorts of things where a more specific wait type doesn't exist, but it does crop up with Hashing operations (join/aggregate) that spill to tempdb, and occasionally at an exchange (Parallelism operator) where a consumer is waiting on something that isn't a normal CXPACKET or EXECSYNC wait. I would check for Hash spills first
SLEEP_TASK Wait Type in SQL Server - What does it indicate?