Microsoft KB Archive/838765

= You may notice unpredictable behavior on a multiprocessor computer that is running SQL Server 2000 and has the Physical Addressing Extensions (PAE) specification enabled =

Article ID: 838765

Article Last Modified on 11/5/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Personal Edition
 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft SQL Server 2000 Workgroup Edition

-



SYMPTOMS
On a multiprocessor computer that is running an instance of Microsoft SQL Server 2000, you may notice unpredictable behavior that may affect the stability of the instance of SQL server under stress conditions. You may notice the following unpredictable behavior when this problem occurs:
 * You may notice unexpected problems that are related to the database consistency on the hard disk or in the memory. As a result, you may receive one or more error messages with the error numbers 823, 605, 644, 623, 625, 813, 925, or 945.
 * You may notice unexpected index maintenance failures.
 * You may notice problems that are related to the consistency in the backup process of database files, including problems that may damage the SQL Server records.
 * You may notice latch failures or latch timeouts.
 * You may notice assertion failures such as the assertion in the RecBase routine or the assertion in the WriteMultiple routine in SQL Server.

This problem occurs when you use the Intel Physical Addressing Extensions (PAE) specification. The PAE specification is a 36-bit physical addressing mode. Notice that this problem occurs even if you do not turn on the Address Windowing Extension (AWE) option for your instance of SQL Server 2000 to address large memory.

Note This problem also occurs on hyper-threaded single-processor computers.



RESOLUTION
To resolve this problem, you must apply operating system hotfixes. For a computer that is running Microsoft Windows 2000 based operating system, apply hotfix Q838647. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

838647 Access violations when you use the /PAE switch in Windows 2000

For a computer that is running Microsoft Windows Server 2003 based operating system, apply hotfix Q834628. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

834628 Data is corrupted when PAE is enabled on a Windows Server 2003-based computer

Note This hotfix is included in Microsoft Windows Server 2003 Service Pack 1 (SP1). For more information about Windows Server 2003 SP1, click the following article numbers to view the articles in the Microsoft Knowledge Base:

824721 Windows Server 2003 Service Pack 1 list of updates

889100 How to obtain the latest service pack for Windows Server 2003



WORKAROUND
To work around this problem, you must turn off the PAE specification by removing the /PAE switch in the Boot.ini file. Then, you must apply the hotfix that corrects data consistency issues.

For more information about data consistency issues and the corresponding hotfix, click the following article number to view the article in the Microsoft Knowledge Base:

825784 &quot;DRIVER_IRQL_NOT_LESS_OR_EQUAL&quot; error message and your Windows-based computer stops responding

To do this, follow these steps:  Start Microsoft Windows Explorer. In Windows Explorer, locate the Boot.ini file in the root folder of the hard disk where the operating system files are installed. Right-click the Boot.ini file, and then click Properties. In the Boot.ini Properties dialog box, click to clear the Read-only check box and the Hidden check box, and then click OK. In Notepad, open the Boot.ini file. Turn off the PAE specification by modifying the Boot.ini file.  To turn off the PAE specification on a computer that is running Microsoft Windows 2000, you must locate the /PAE switch in the Boot.ini file. Then, remove the /PAE switch from the command that is used to start your computer.</li> To turn off the PAE specification on a computer that is running Windows Server 2003, you must include the /NOPAE switch in the command that is used to start your computer in the Boot.ini file.

Note On a computer that is running Windows Server 2003, Enterprise Edition or Windows Server 2003, Datacenter Edition, the PAE specification is automatically turned on if the computer is configured to use hot-add memory devices. Therefore, you do not have to use the /PAE switch on a system that is configured to use hot-add memory devices. In all other cases, you must use the /PAE switch in the Boot.ini file.</li></ul>

For more information about the /PAE switch and the /NOPAE switch, visit the following Microsoft Developer Network (MSDN) Web sites:

/pae

http://msdn2.microsoft.com/en-us/library/ms791485.aspx

/nopae

http://msdn2.microsoft.com/en-us/library/ms791508.aspx

</li> Save and then close the Boot.ini file.</li> Apply the hotfix that fixes data consistency issues that cause the computer to unexpectedly shut down or stop responding.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

825784 &quot;DRIVER_IRQL_NOT_LESS_OR_EQUAL&quot; error message and your Windows-based computer stops responding

</li> Restart your computer.</li></ol>

<div class="moreinformation_section">

MORE INFORMATION
When you use the PAE specification, the PAE specification uses the 36-bit physical addressing mode. Therefore, PAE can support up to 64 GB of physical memory by mapping the 64 GB of memory to a 32-bit (4 GB) virtual address space.

To quickly check whether the PAE specification is currently being used on your computer, you must run the Winver.exe program. If the physical memory that is reported by the Winver.exe program is more than 4 GB, the PAE specification is being used on your computer.

For more information, click the following article number about PAE to view the article about PAE in the Microsoft Knowledge Base:

283037 Large memory support is available in Windows 2000 and Windows Server 2003

Note By default, the Winver.exe program is located in the C:\Windows\System32 folder.

If you notice any unpredictable behavior on a computer that has the PAE specification turned on, you must immediately apply the solutions that are mentioned in the &quot;Workaround&quot; section or the &quot;Resolution&quot; section. This unpredictable behavior can include the following:
 * Access violation exceptions
 * Assertion failures
 * Data consistency issues

Note Data consistency issues may also prevent your database from recovering (SQL Error 3456).

Microsoft SQL Server cannot guarantee data integrity unless you apply the fix that is mentioned in the &quot;Resolution&quot; section.

Several problems that are related to memory management are fixed in SQL Server 2000 Service Pack 3 (SP3). Therefore, in addition to the operating system corrections that are specified in the &quot;Resolution&quot; section, we recommend that you install the latest SQL Server hotfixes (version 8.00.818 or later). To download the security update for Microsoft SQL Server 2000 Service Pack 3 (SP3) that includes the SQL Server hotfix (version 8.00.818), visit the following Microsoft Web site:

http://www.microsoft.com/downloads/details.aspx?familyid=9814AE9D-BD44-40C5-ADD3-B8C99618E68D

You must also contact the hardware vendor for any known issues and make sure that the latest firmware or basic input/output system (BIOS) updates are applied to the computer. For additional analysis of the problem, you can run the appropriate hardware input/output (I/O) diagnostic programs and the memory diagnostic programs.

<div class="references_section">