Description of common causes of SQL Server error message 844 or error message 845 (310834)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup

This article was previously published under Q310834

SYMPTOMS

A computer may stop responding (hang), or a time out or some other disruption of normal operations may occur at the same time that SQL Server writes buffer latch errors to the SQL Server error log. The error messages that occur as a result of a disruption are:
Error 844: Time out occurred while waiting for buffer latch type %d, bp %#x, page %S_PGID, stat %#x, object ID %d:%d:%d, waittime %d. Continuing to wait.
Error 845: Time-out occurred while waiting for buffer latch type %d for page %S_PGID, database ID %d.
WARNING: EC 6ed70090, 2 waited 600 sec. on latch 6ed834bc. Not a BUF latch.

CAUSE

The error messages are dependent upon the overall operating environment of your system. Any of the following circumstances may lead to an overstressed system:
  • Hardware that does not meet your input/output (I/O) and memory needs.

  • Improperly configured and tested settings.

  • Inefficient design.
When your system is under a heavy stress load or when your system has hardware demands that exceed your hardware's ability, your system may produce buffer error messages. Some of the most common causes of a stressed environment are:

  • Hardware problems.
  • Compressed drives.
  • Non-default SQL Server configuration settings.
  • Inefficient queries and/or inefficient index design.
  • Frequent database AutoGrow or AutoShrink operations.

WORKAROUND

To work around the problem, depending on your environment, one or more of these steps may reduce or eliminate the error messages:
  • Determine if you have any hardware bottlenecks. The "Identifying Bottlenecks" topic in SQL Server 2000 Books Online is a good place to start. If necessary, upgrade your hardware so that it is adequate to service the needs of your environment's configuration, queries, and load.

  • Verify that all your hardware functions properly. Check for any logged errors and run any diagnostics provided by your hardware vendor.

  • Make sure that your disk drives are not compressed. Storing data or log files on compressed drives is not supported as documented in the "Physical Database Files and Filegroups" topic in SQL Server 2000 Books Online. For additional information on compressed drive support, click the article number below to view the article in the Microsoft Knowledge Base:

    231347 INF: SQL Server Databases Not Supported on Compressed Volumes

  • See if the error messages disappear when you turn off all these options:

    • The SQL Server priority boost configuration option.
    • The lightweight pooling (fiber mode) option.
    • The set working set size option.


    The preceding settings can often be counter-productive if you change them from their default setting of OFF. For more information about the settings, refer to the "Setting Configuration Options" and "sp_dboption" topics in SQL Server 2000 Books Online.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    319942 HOW TO: Determine Proper SQL Server Configuration Settings

  • Tune queries to reduce resources used on the system. Performance tuning will help reduce the stress on a system as well as improve response time for individual queries. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

    224587 HOW TO: Troubleshoot Application Performance with SQL Server


  • Set the AutoShrink property to OFF to reduce the overhead of changes to your database size.

  • Make sure you set the AutoGrow property to increments that are large enough to be infrequent. Schedule a job to check the available space in your databases, and then increase the database size during non-peak hours.

  • If the 844 or 845 error messages are infrequent, then you can ignore the errors as stated in SQL Server 2000 Books Online.

REFERENCES

For information on how to monitor your system and on how to implement some of the changes suggested in the "Workaround" section of this article, see the following topics in SQL Server 2000 Books Online:

"Viewing Error Logs"
"Optimizing Database Performance Overview"
"Evaluating Performance"
"Indexes"
"Designing an Index"
"Index Tuning Wizard"
"Analyzing Queries"

There are some instances where error messages 844 and 845, combined with certain other specific circumstances, indicate a bug. For additional information about possible bugs, click the article numbers below to view the articles in the Microsoft Knowledge Base:

309093 FIX: Buffer Latch Timeouts or Server Sluggishness Occurs When You Remove Procedures From Cache

303640 FIX: Latch Timeout Warnings Appear in Error Log and Slow SQL Server Response Occurs with AWE Enabled



Modification Type:MajorLast Reviewed:12/23/2005
Keywords:kbprb KB310834