FIX: A database shrink may not succeed or unexplained transaction log growth may occur in SQL Server 2005
- When you execute DML statements against a table that does not have a clustered index, the database continues growing. The database becomes very large. When you shrink the database, the shrink operation does not complete successfully. This may happen if you enable the SNAPSHOT transaction isolation level or the read committed SNAPSHOT transaction isolation level for a database.
- The database transaction log may grow continuously with very little or no activity in the database. If you run the following statements, the values of the ghost_record_count column and of the forwarded_record_count column are very large:
SELECT DB_NAME (database_id) AS database_name,OBJECT_NAME (object_id) AS object_name,index_type_desc AS index_type,alloc_unit_type_desc AS alloc_unit_type,page_count,record_count,ghost_record_count,version_ghost_record_count,forwarded_record_countFROM sys.dm_db_index_physical_stats (DB_ID ('<DatabaseName>'), OBJECT_ID ('<TableName>'), NULL, NULL, 'DETAILED')
The large values indicate that the Ghost Cleanup process does not work.
Also if you query the following DMV, you may find error 669:Select * from sys.dm_os_ring_bufferswhere ring_buffer_type = 'RING_BUFFER_EXCEPTION'</Task><Error>669</Error><Severity>25</Severity>
Service pack informationTo resolve this problem, obtain the latest service pack for SQL Server 2005. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
Article ID: 959012 - Last Review: 11/09/2010 23:48:00 - Revision: 3.0
- kbtshoot kbexpertiseadvanced kbfix kbsql2005engine KB959012