Microsoft KB Archive/243302

From BetaArchive Wiki
Knowledge Base


Article ID: 243302

Article Last Modified on 3/14/2006



APPLIES TO

  • Microsoft SQL Server 7.0 Standard Edition



This article was previously published under Q243302

BUG #: 56222 (SQLBUG_70)
BUG #: 56506 (SQLBUG_70)

SYMPTOMS

Under rare circumstances, it is possible that the deletion of records from a table may inappropriately lead to filling the transaction log. If the process is not terminated this may lead to either the disk becoming completely full or one of the following messages occur in the errorlog:

Error 1105
Severity Level 17
Message Text
Could not allocate space for object '%.*ls' in database '%.*ls' because the '%.*ls' filegroup is full.

-or-


Error 9002
Severity Level 19
Message Text
The log file for database '%.*ls' is full. Back up the transaction log for the database to free up some log space.

WORKAROUND

Here are three different ways you can attempt to work around this problem:

  • If you are performing an unqualified delete and there are no transactional requirements then TRUNCATE TABLE may work.
  • DBCC DBREINDEX may work.
  • Use sp_rename to rename the table, recreate the table, and then use INSERT..SELECT to add the data into the table.


STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

254561 INF: How to Obtain Service Pack 2 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0


For more information, contact your primary support provider.

MORE INFORMATION

Under these rare situations, row deletions of index node pages errantly enter a looping scenario where they repeatedly fail removal yet they reserve space in the transaction log for the potential state change.

Keywords: kbbug kbfix KB243302