SQL Server 2000 may experience errors and stop responding, and error messages may be logged in the SQL Server 2000 error log, when you try to perform a write operation that is not logged (905131)



The information in this article applies to:

  • Microsoft SQL Server 2000 Desktop Engine (MSDE)
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Standard Edition

Bug #: 363662 (SQL Server 8.0)

SYMPTOMS

In Microsoft SQL Server 2000, you may experience the following symptoms when you try to perform a write operation that is not logged:
  1. The write operation fails, and the following error message is logged in the SQL Server 2000 error log:
    SQL Server Assertion: File: <buffer.c>, line=3723 Failed Assertion = '!(bp->bdbid == dbid && ALL_ON (BUF_HASHED | BUF_CHECKWRITE | BUF_DIRTY, bufstat) && IS_OFF (BUF_IO, bufstat) && bp->bpage->GetXdesId () == xdesId)'.
    Note After this error message is logged in the SQL Server 2000 error log, SQL Server stops responding.
  2. After the first error message is logged, the following error message is logged several times in the SQL Server 2000 error log:
    Error 845: Time-out occurred while waiting for buffer latch type %d for page %S_PGID, database ID %d.
    Note If you receive this error message, you must exit and then restart SQL Server.

CAUSE

The first error message that is mentioned in the "Symptoms" section is logged if there is an insufficient amount of paged pool memory on the computer to perform the write operation. You experience an (ERROR_NO_SYSTEM_RESOURCES) Error 1450 error message, and the error message is logged.

After you experience the (ERROR_NO_SYSTEM_RESOURCES) Error 1450 error message, the write operation stops and waits for the computer to start responding again. If the length of time that the write operation waits exceeds the value in the waittime column of the master.dbo.sysprocesses table, you experience Error 845 several times, and the second error message is logged several times.

RESOLUTION

To resolve this problem, obtain the latest service pack for SQL Server 2000. For more 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



Note The service pack does not prevent the error messages that are mentioned in the "Symptoms" section from being generated. However, the service pack does prevent the failure of SQL Server when you perform write operations.

WORKAROUND

To work around this problem, use one of the following methods:
  • Remove the /3GB switch from the Boot.ini file. This change will free additional paged pool memory for your write operation.
  • Run fewer write operations. This change will minimize your risk of using all the available paged pool memory that is on the computer.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section. This bug was corrected in SQL Server 2000 Service Pack 4.

REFERENCES

For more information about the /3GB switch, click the following article number to view the article in the Microsoft Knowledge Base:

274750 How to configure memory for more than 2 GB in SQL Server


Modification Type:MajorLast Reviewed:10/5/2005
Keywords:kbfix KB905131 kbAudDeveloper