This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 363411 (SHILOH_BUGS)
When you use SHRINKDB or SHRINKFILE or SQL Server Enterprise Manager to reduce the size of a database on SQL Server 2000 Service Pack 2 (SP2) or later, the shrink operation runs for a long time (5 minutes or longer), and then you receive the following error message:
2002-11-25 22:41:30.18 spid55 Time out occurred while waiting for buffer latch type 4,bp 0x3d03340, page 1:37939357), stat 0xb, object ID 8:8:0, EC 0xB39B55E0 : 0, waittime 300. Not continuing to wait. 2002-11-25 22:41:30.18 spid55 Waiting for type 0x4, current count 0x100022, current owning EC/PSS 0xB39B55E0/0xB39B52B8.
If the database is on a computer that is running a version of SQL Server later than SQL Server 2000 SP2 hotfix 710, you receive the following error message:
Server: Msg 8908, Level 22, State 6, Line 1 Table error: Database ID 7, object ID 8, index ID 0. Chain linkage mismatch. (1:679928)->next = (1:679929), but (1:679929)->prev = (1:679930).
You experience this problem under the following conditions:
You are using SQL Server 2000 SP2 or later but earlier than post-SQL Server 2000 SP2 hotfix build 8.00.710 and the latch time-out message in the SQL Server error log indicates SYSFILES1. For example: (8:8:0).
You are using post-SQL Server 2000 SP2 hotfix 710 or later. The 8908 error message occurs when you try to use SHRINKFILE and the error message indicates "Object ID 8."
This problem occurs because the SHRINK operation cannot remove a page from the SYSFILES1 system table on the primary data file of the database.
Service pack information
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 How to obtain the latest SQL Server 2000 service pack
The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000, Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit