Author: Peter Whyte

  • PREEMPTIVE_OS Cluster Wait Types in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: HADR_SYNC_COMMIT Wait TypeRelated pillar: Performance & Troubleshooting Two preemptive waits track Windows Server Failover Clustering API calls, and this page covers both: PREEMPTIVE_OS_CLUSTEROPS (the generic bucket for cluster operations) and PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL (calls to the cluster resource control API, querying and manipulating…

  • PREEMPTIVE_OS_CREATEFILE Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: SOS_SCHEDULER_YIELD Wait TypeRelated pillar: Performance & Troubleshooting PREEMPTIVE_OS_CREATEFILE is recorded while a thread calls the Windows CreateFile function. The name misleads slightly: CreateFile is Windows’ general-purpose file open API, used for reading existing files as much as creating new ones. Any…

  • PREEMPTIVE_OS_DSGETDCNAME Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: SOS_SCHEDULER_YIELD Wait TypeRelated pillar: Performance & Troubleshooting PREEMPTIVE_OS_DSGETDCNAME is recorded when a thread calls the Windows DsGetDcName function, which locates a domain controller for a given domain. It is the discovery step that precedes much authentication work: before validating a login…

  • PREEMPTIVE_OS File Operation Wait Types in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: SOS_SCHEDULER_YIELD Wait TypeRelated pillar: Performance & Troubleshooting A large family of PREEMPTIVE_OS_* waits each track a single Windows file API call. They share one mechanic, the thread leaves SQL Server’s cooperative scheduler (state shows RUNNING) until Windows returns, and one diagnosis,…

  • PREEMPTIVE_OS_FILEOPS Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: SOS_SCHEDULER_YIELD Wait TypeRelated pillar: Performance & Troubleshooting PREEMPTIVE_OS_FILEOPS is a generic wait covering a family of Windows file system functions that do not have their own dedicated preemptive wait type. When a thread calls one of them, it switches from SQL…

  • PREEMPTIVE_OS_FLUSHFILEBUFFERS Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: WRITELOG Wait TypeRelated pillar: Performance & Troubleshooting PREEMPTIVE_OS_FLUSHFILEBUFFERS is recorded while a thread calls the Windows FlushFileBuffers function (or its equivalent on Linux), which forces everything buffered for a file down to durable media. Like all preemptive waits, the thread runs…

  • PREEMPTIVE_OS_GETDISKFREESPACE Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: SOS_SCHEDULER_YIELD Wait TypeRelated pillar: Performance & Troubleshooting PREEMPTIVE_OS_GETDISKFREESPACE is recorded when a thread calls the Windows GetDiskFreeSpace function to check a volume’s free space. Callers include the engine (before file growth, during certain file operations) and, prominently, monitoring queries: sys.dm_os_volume_stats, xp_fixeddrives,…

  • PREEMPTIVE_OS_GETPROCADDRESS Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: SOS_SCHEDULER_YIELD Wait TypeRelated pillar: Performance & Troubleshooting PREEMPTIVE_OS_GETPROCADDRESS is recorded while a thread calls the Windows GetProcAddress function to resolve an extended stored procedure’s entry point inside its DLL. Every XP call needs this lookup, so instances that use extended stored…

  • PREEMPTIVE_OS Library Wait Types in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: SOS_SCHEDULER_YIELD Wait TypeRelated pillar: Performance & Troubleshooting Three preemptive waits track Windows DLL handling, and this page covers them together: PREEMPTIVE_OS_LOADLIBRARY (loading a DLL into the process), PREEMPTIVE_OS_FREELIBRARY (unloading one), and PREEMPTIVE_OS_LIBRARYOPS (the generic bucket for other library operations). Their callers…

  • PREEMPTIVE_OS_LOOKUPACCOUNTSID Wait Type in SQL Server

    ⏳Part of the SQL Server Wait Types Library, every wait type explained.Related deep dive: SOS_SCHEDULER_YIELD Wait TypeRelated pillar: Performance & Troubleshooting PREEMPTIVE_OS_LOOKUPACCOUNTSID is recorded while a thread calls the Windows LookupAccountSid function, which translates a security identifier (SID) into an account name. For domain accounts that translation can leave the server entirely and query a…