Article ID: 280744
Article Last Modified on 10/31/2003
APPLIES TO
- Microsoft SQL Server 7.0 Standard Edition
- Microsoft SQL Server 2000 Standard Edition
This article was previously published under Q280744
BUG #: 58285 (SQLBUG_70)
BUG #: 236191 (SHILOH_bugs)
SYMPTOMS
When you perform an update query, the query optimizer may incorrectly create a temporary composite index greater than the maximum size of 900 bytes. When this occurs on SQL Server 7.0, you receive the following error message:
On SQL Server 2000, if the actual data in the temporary index exceeds 900 bytes, you receive the following error message:
Note that in SQL Server 2000, if the actual data in the temporary index is less than 900 bytes, no error is returned and the update completes successfully.
RESOLUTION
SQL Server 2000
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack
SQL Server 7.0
To resolve this problem, obtain the latest service pack for SQL Server 7.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
301511 INF: How to Obtain the Latest SQL Server 7.0 Service Pack
WORKAROUND
Define an appropriate index on the table that the query optimizer can use so that it does not create a temporary index. You may use the Index Tuning Wizard to get a recommendation on indexes for the query in question.
For more information, see the "Index Tuning Wizard" topic in SQL Server Books Online.
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
SQL Server 2000
This problem was first corrected in SQL Server 2000 Service Pack 1.
SQL Server 7.0
This problem was first corrected in SQL Server 7.0 Service Pack 3.
Keywords: kbbug kbfix kbsqlserv2000sp1fix KB280744