Consider the following scenario:
- You install Microsoft SQL Server 2008 or Microsoft SQL Server 2005.
- The computer on which SQL Server is installed has more than 64 logical processors.
- Non-uniform memory access (NUMA) is enabled.
- An error message that resembles one of the following may be logged in the SQL Server Error Log:
Error message 1
2013-07-17 05:10:31.02 Server IO Completion Listener (0x27a0) Worker 0x00000000516A41A0 appears to be non-yielding on Node 3. Approx CPU Used: kernel 0 ms, user 14991 ms, Interval: 15001Error message 2
2013-07-17 05:15:02.83 spid707 A time-out occurred while waiting for buffer latch -- type 4, bp 000000008BFEF300, page 1:6908, stat 0x35c0000b, database id: 4, allocation unit Id: 72057594041860096, task 0x000000005166D048 : 0, waittime 300, flags 0x1a, owning task 0x0000000005C4F4C8. Not continuing to wait.Error message 3
2013-07-17 05:44:18.71 spid690 Error: 701, Severity: 17, State: 42.
2013-07-17 05:44:18.71 spid690 There is insufficient system memory in resource pool 'default' to run this query. - The SQL Server stops responding to user queries.
- Unexplained growth in memory usage occurs in the affected SQL Server installation.
- Operations that are performed by the LazyWriter background thread do not finish as expected. For example, the following operations may not finish:
- The current time stamp is not updated. Therefore, all database pages have the same time stamp, and the LazyWriter thread cannot evict any buffers.
- Buffer pool counters in Performance Monitor (Perfmon.exe) are not updated and may always display "0" (zero).
- The minimum memory and maximum memory server settings cannot be changed dynamically.
- Long-running input/output detection does not work as expected.
- The buffer pool does not switch to a memory steady state, and it keeps "away" buffers.