Four preemptive waits track Windows networking APIs, and this page covers them together:
PREEMPTIVE_OS_GETADDRINFO: DNS name resolution. Linked servers, AG endpoints, and anything else connecting outward by name pays DNS latency here.PREEMPTIVE_OS_WINSOCKOPS: the generic bucket for Winsock socket operations.PREEMPTIVE_OS_DISCONNECTNAMEDPIPE: tearing down named pipe connections, relevant where the named pipes protocol is enabled and used.PREEMPTIVE_OS_MESSAGEQUEUEOPS: message queue operations for the scenarios that use them.
Together they are the OS-call basement under SQL Server’s outbound and transport networking.
Are They a Problem?
At trace levels, no. The member with the sharpest teeth is GETADDRINFO: slow or flaky DNS makes every outbound name resolution stall, which surfaces as slow linked server connections, slow AG endpoint operations, and mysterious multi-second pauses that resolve the moment DNS is fixed. A growing GETADDRINFO average is a DNS health finding you can hand to infrastructure verbatim.
The others mostly track transport housekeeping and stay incidental.
What To Do
- For
GETADDRINFOgrowth: test resolution of the actual names involved (linked servers, replicas) from the host withnslookup/Resolve-DnsName; slowness reproduces outside SQL Server. - Consider hosts-file or IP-based configuration only as a stopgap; fixing DNS is the real answer.
- Disable unused protocols (named pipes where nothing uses it) as general hygiene.
How To See It
Rank waits with Get-WaitStatistics; on healthy networks the family stays in the noise.
Part of the SQL Server Wait Types Library.
Related deep dive: ASYNC_NETWORK_IO Wait Type.
Leave a Reply