"Timeout occurred while waiting for latch" error when running DBCC CHECKDB
statement on a database
This article introduces a problem where you receive an error message when you try to run the DBCC CHECKDB
statement on a database that contains a large table in SQL Server.
Original product version: SQL Server 2012, SQL Server 2008
Original KB number: 919155
Symptoms
Consider the following scenario:
- You have a database that contains one or more very large tables.
- The tables are typically several hundred gigabytes (GB) in size.
- You run the
DBCC CHECKDB
statement on the database in SQL Server.
In this scenario, an error message that resembles the following is written to the SQL Server error log:
<DateTime> spid65 Timeout occurred while waiting for latch: class 'DBCC_MULTIOBJECT_SCANNER', id 000000002201DED0, type 4, Task 0x000000000C80BEB8 : 6, waittime 300, flags 0xa, owning task 0x0000000005A0AC58. Continuing to wait.
However, the DBCC CHECKDB
statement will complete successfully. You can safely ignore the error message.
Cause
This issue occurs because a time-out occurs when SQL Server traverses the Index Allocation Map (IAM) chains. The latch that is mentioned in the error message is used to prevent other threads from accessing a list. This list is being built by a thread that traverses the IAM chains for all indexes that are associated with a given table. If the table is large enough that traversing these IAM chains takes more than 5 minutes, you may experience the latch time-out. Additionally, this issue is typically worse when disk I/O is slow.
Status
This behavior is by design.
Applies to
- SQL Server 2008 Developer
- SQL Server 2008 Enterprise
- SQL Server 2008 Express
- SQL Server 2008 Express with Advanced Services
- SQL Server 2008 R2 Datacenter
- SQL Server 2008 R2 Developer
- SQL Server 2008 R2 Enterprise
- SQL Server 2008 R2 Express
- SQL Server 2008 R2 Express with Advanced Services
- SQL Server 2008 R2 Standard
- SQL Server 2008 R2 Standard Edition for Small Business
- SQL Server 2008 R2 Web
- SQL Server 2008 R2 Workgroup
- SQL Server 2008 Standard
- SQL Server 2008 Web
- SQL Server 2008 Workgroup
- SQL Server 2012 Business Intelligence
- SQL Server 2012 Developer
- SQL Server 2012 Enterprise
- SQL Server 2012 Express
- SQL Server 2012 Standard
- SQL Server 2012 Web
- SQL Server 2012 Enterprise Core
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for