Microsoft KB Archive/150901

= PRB: Running Multiple DBCC Commands Can Raise Spurious Errors =

Article ID: 150901

Article Last Modified on 3/14/2005

-

APPLIES TO


 * Microsoft SQL Server 4.21a Standard Edition
 * Microsoft SQL Server 6.0 Standard Edition
 * Microsoft SQL Server 6.5 Standard Edition

-



This article was previously published under Q150901



SYMPTOMS
When you run multiple instances of some DBCC commands at the same time, errors may be raised that turn out to be spurious.



CAUSE
There is a pre-allocated buffer workspace that many DBCC commands share rather than each allocating their own space. There are no concurrency checks for the DBCC commands to share this space, so spurious errors can arise as DBCC commands overwrite each other's workspace buffer. This is more likely to occur on SMP computers. Among those DBCC commands known to not be "multi-instance safe" are:


 * NEWALLOC
 * CHECKALLOC
 * CHECKDB
 * CHECKTABLE
 * PGLINKAGE
 * MEMUSAGE
 * TEXTALLOC
 * TEXTALL

Note that simultaneously running any combination of these commands is subject to the same problem, not just multiple instances of the same command.



WORKAROUND
Only run one DBCC command at a time to avoid spurious errors.

This problem was corrected in Microsoft SQL Server version 6.5 Service Pack 2.

Additional query words: sql sql60 sql65 dbcc

Keywords: kbprogramming kbusage KB150901

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.