PRB: Running Multiple DBCC Commands Can Raise Spurious Errors (150901)
The information in this article applies to:
- Microsoft SQL Server 4.2x
- Microsoft SQL Server 6.0
- Microsoft SQL Server 6.5
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.
Modification Type: | Minor | Last Reviewed: | 3/14/2005 |
---|
Keywords: | kbProgramming kbusage KB150901 |
---|
|