Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
FIX: Update Query Returns Error 1903 if Temporary Composite Index Over 900 Bytes
Article ID: 280744 - View products that this article applies to.
This article was previously published under Q280744
BUG #: 58285 (SQLBUG_70)
BUG #: 236191 (SHILOH_bugs)
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:
Error : Server: Msg 1903, Level 16, State 2, Line 2
900 is the maximum allowable size of an index. The composite index specified is 1028 bytes.
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.
Server: Msg 1946, Level 16, State 3, Line 2
Operation failed. The index entry of length 1012 bytes for the index 'IndexName' exceeds the maximum length of 900 bytes.
Warning! The maximum key length is 900 bytes. The index 'IndexName' has maximum length of 1028 bytes. For some combination of large values, the insert/update operation will fail.
SQL Server 2000To 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:
(http://support.microsoft.com/kb/290211/EN-US/ )INF: How to Obtain the Latest SQL Server 2000 Service Pack
SQL Server 7.0To 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:
(http://support.microsoft.com/kb/301511/EN-US/ )INF: How to Obtain the Latest SQL Server 7.0 Service Pack
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.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
SQL Server 2000This problem was first corrected in SQL Server 2000 Service Pack 1.
SQL Server 7.0This problem was first corrected in SQL Server 7.0 Service Pack 3.