In Chapter
1, “Wait Statistics Internals,” we briefly touched upon SQL Server’s non-preemptive scheduling model that is used to perform thread scheduling and management. Unlike SQL Server, the Windows operating system uses preemptive
scheduling to schedule and manage threads. Sometimes SQL Server has to use Windows functions to perform specific actions through the operating system, for instance, when checking Active Directory permissions. When this occurs, SQL Server will have to ask a thread from the Windows operating system, outside of SQL Server, ...