This article was previously published under Q266234
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 57983 (SQLBUG_70)
If a query that returns many bit columns is run as a parallel query and the row size passed through one of the Parallelism physical operators in the plan exceeds approximately 8 KB in size, a handled access violation may occur.
A Parallelism physical operator is limited to handling a row size greater than approximately 8 KB in size, and normally such plans are excluded from being run as a parallel plan. Due to a bug in the calculation of the row size when handling bit columns, the query is incorrectly allowed to run in parallel but overflows a buffer allocated for transferring the data between threads.
To work around the problem:
You can avoid the exception error by reducing the number of columns in the select list so that the row size is smaller.
Disable parallelism either for this specific query by using OPTION (MAXDOP 1) or disable parallelism on the server by setting the max degree of parallelism configuration option to 1.
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
274799 INF: How to Obtain Service Pack 3 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
For more information, contact your primary support provider.
Parallel queries are only considered when the cost of the query exceeds the cost threshold for parallelism configuration value, and the system has fewer active processes than the available processors.
If this exception error occurs, the stack trace is similar to the following: