FIX: You may experience heap corruption, and SQL Server 2000 may shut down with fatal access violations when you try to browse files in SQL Server 2000 Enterprise Manager on a Windows Server 2003 x64-based computer (916950)
The information in this article 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, when used with:
- Microsoft Windows Server 2003, Standard x64 Edition
- Microsoft Windows Server 2003, Enterprise x64 Edition
Bug: #40000113 (SQL Hotfix)
Microsoft distributes Microsoft SQL
Server 2000 fixes as one downloadable file. Because the fixes are cumulative,
each new release contains all the hotfixes and all the security fixes that were
included with the previous SQL Server 2000 fix
release. SUMMARYThis article describes the following about this hotfix
release:
- The issues that are fixed by this hotfix package
- The prerequisites for installing the hotfix
package
- Information about whether you must restart the computer
after you install the hotfix package
- Information about whether the hotfix package is replaced by
any other hotfix package
- Information about whether you must make any registry
changes
- The files that are contained in the hotfix
package
SYMPTOMSConsider the following scenario. Microsoft SQL Server 2000
Enterprise Manager is running on a Microsoft Windows Server 2003 x64 Edition-based computer. You try to browse files, and you click the
ellipsis button ( ...) in any File dialog box
in SQL Server 2000 Enterprise Manager. In this scenario, you may experience
heap corruption, and SQL Server may shut down with fatal access
violations. Other threads or objects such as Microsoft Component
Object Model (COM) objects may be loaded into SQL Server by using the sp_oacreate stored procedure. When this behavior occurs, OLEDB linked server
providers that run in-process, SQL Mail, or SQLXML may also be affected and may
cause the SQL Server process to shut down. Additionally, you may also
experience this problem on clustered instances. Notes- This problem only affects the 32-bit editions of SQL
Server 2000 that run in the Windows on Windows 64 (WOW64) subsystem on Windows
Server 2003 x64
editions.
- This heap corruption problem does not affect any one of
the SQL Server 2000 64-bit editions, such as those editions that run on IA-64
operating systems that use the Intel Itanium 2 architecture.
- This problem does not affect 32-bit editions of SQL Server
that are on the WOW64 subsystem on IA-64 operating systems.
- This problem does not affect any editions of Microsoft SQL
Server 2005.
This problem may occur because of the xp_availablemedia system extended stored procedure. When you click the ellipsis
button ( ...) in the graphical user interface (GUI), the xp_availablemedia system extended stored procedure may be called to perform the
file browse operation. In a clustered instance, Enterprise Manager calls the sp_MSSharedFixedDisk stored procedure, and the sp_MSSharedFixedDisk stored procedure calls the xp_availablemedia system extended stored procedure. You may not notice the
heap corruption until other threads use the default heap or until heap memory
is freed. Any module that runs inside the Sqlservr.exe process can share the
default heap in a process. Therefore, this kind of heap corruption can affect
Xpstar.dll and other modules in which the xp_availablemedia system extended stored procedure is compiled. For a list
of all publicly released SQL Server 2000 Post-Service Pack hotfixes, see the
following article in the Microsoft Knowledge Base: 894905 Cumulative list of the hotfixes
that are available for SQL Server 2000 SP4
RESOLUTIONA supported hotfix is
now available from Microsoft, but it is only intended to correct the problem
that is described in this article. Only apply it to systems that are
experiencing this specific problem. This hotfix may receive additional testing.
Therefore, if you are not severely affected by this problem, we recommend that
you wait for the next Microsoft SQL Server 2000 service pack that contains this
hotfix. To resolve this problem immediately, contact Microsoft Product
Support Services to obtain the hotfix. For a complete list of Microsoft Product
Support Services telephone numbers and information about support costs, visit
the following Microsoft Web site: Note In special cases, charges that are ordinarily incurred for
support calls may be canceled if a Microsoft Support Professional determines
that a specific update will resolve your problem. The usual support costs will
apply to additional support questions and issues that do not qualify for the
specific update in question. PrerequisitesYou must have Microsoft SQL Server 2000 Service Pack 4 (SP4)
installed to apply this hotfix. For more information about how to obtain
SQL Server Service Pack 4, 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
Restart information You do not have to restart the computer after you apply the
hotfix. Registry information You do not have to change the registry. Hotfix file informationThis hotfix contains only those files that are required to correct
the issues that this article lists. This hotfix may not contain of all the
files that you must have to fully update a product to the latest
build. The English version of this hotfix has the file
attributes (or later file attributes) 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 item in Control Panel.SQL Server 2000 32-bit versions |
Dtsui.dll | 2000.80.2191.0 | 1,593,344 | 27-Mar-2006 | 21:10 | x86 | Impprov.dll | 2000.80.2191.0 | 102,400 | 27-Mar-2006 | 21:10 | x86 | Msgprox.dll | 2000.80.2191.0 | 94,208 | 27-Mar-2006 | 21:10 | x86 | Msrpjt40.dll | 4.10.9424.0 | 188,473 | 24-Jan-2006 | 08:13 | x86 | Mssdi98.dll | 8.11.50523.0 | 239,104 | 06-Jun-2005 | 22:46 | x86 | Ntwdblib.dll | 2000.80.2191.0 | 290,816 | 27-Mar-2006 | 21:10 | x86 | Odsole70.dll | 2000.80.2191.0 | 69,632 | 27-Mar-2006 | 21:10 | x86 | Osql.exe | 2000.80.2191.0 | 57,344 | 27-Mar-2006 | 19:25 | x86 | Pfclnt80.dll | 2000.80.2191.0 | 430,080 | 27-Mar-2006 | 21:10 | x86 | Replmerg.exe | 2000.80.2191.0 | 163,840 | 27-Mar-2006 | 19:34 | x86 | Replprov.dll | 2000.80.2191.0 | 237,568 | 27-Mar-2006 | 21:10 | x86 | Replrec.dll | 2000.80.2191.0 | 315,392 | 27-Mar-2006 | 21:10 | x86 | Replsub.dll | 2000.80.2191.0 | 270,336 | 27-Mar-2006 | 21:10 | x86 | Semexec.dll | 2000.80.2191.0 | 856,064 | 27-Mar-2006 | 21:10 | x86 | Sqlagent.exe | 2000.80.2191.0 | 323,584 | 27-Mar-2006 | 19:09 | x86 | Sqldiag.exe | 2000.80.2191.0 | 118,784 | 27-Mar-2006 | 20:15 | x86 | Sqldmo.dll | 2000.80.2191.0 | 4,362,240 | 27-Mar-2006 | 21:10 | x86 | Sqlfth75.dll | 2000.80.2191.0 | 102,400 | 27-Mar-2006 | 19:23 | x86 | Sqlservr.exe | 2000.80.2191.0 | 9,162,752 | 27-Mar-2006 | 21:10 | x86 | Sqlsort.dll | 2000.80.2191.0 | 589,824 | 27-Mar-2006 | 21:11 | x86 | Stardds.dll | 2000.80.2191.0 | 176,128 | 27-Mar-2006 | 21:11 | x86 | Svrnetcn.dll | 2000.80.2191.0 | 110,592 | 27-Mar-2006 | 21:11 | x86 | Ums.dll | 2000.80.2191.0 | 35,328 | 27-Mar-2006 | 21:11 | x86 | Xpstar.dll | 2000.80.2191.0 | 311,296 | 27-Mar-2006 | 21:11 | x86 |
SQL Server 2000 Itanium architecture version |
Impprov.dll | 2000.80.2191.0 | 244,736 | 27-Mar-2006 | 21:14 | IA-64 | Msgprox.dll | 2000.80.2191.0 | 188,416 | 27-Mar-2006 | 21:16 | IA-64 | Mssdi98.dll | 8.11.50523.0 | 758,784 | 06-Jun-2005 | 22:46 | IA-64 | Odsole70.dll | 2000.80.2191.0 | 150,528 | 27-Mar-2006 | 21:13 | IA-64 | Osql.exe | 2000.80.2191.0 | 149,504 | 27-Mar-2006 | 21:13 | IA-64 | Pfclnt80.dll | 2000.80.2191.0 | 1,187,840 | 27-Mar-2006 | 21:35 | IA-64 | Replmerg.exe | 2000.80.2191.0 | 375,296 | 27-Mar-2006 | 21:17 | IA-64 | Replprov.dll | 2000.80.2191.0 | 538,624 | 27-Mar-2006 | 21:20 | IA-64 | Replrec.dll | 2000.80.2191.0 | 775,168 | 27-Mar-2006 | 21:19 | IA-64 | Replsub.dll | 2000.80.2191.0 | 641,024 | 27-Mar-2006 | 21:21 | IA-64 | Sqlagent.exe | 2000.80.2191.0 | 1,061,376 | 27-Mar-2006 | 21:38 | IA-64 | Sqldiag.exe | 2000.80.2191.0 | 334,336 | 27-Mar-2006 | 21:37 | IA-64 | Sqldmo.dll | 2000.80.2191.0 | 13,860,352 | 27-Mar-2006 | 21:42 | IA-64 | Sqlfth75.dll | 2000.80.2191.0 | 246,784 | 27-Mar-2006 | 21:16 | IA-64 | Sqlservr.exe | 2000.80.2191.0 | 24,973,312 | 28-Mar-2006 | 02:22 | IA-64 | Sqlsort.dll | 2000.80.2191.0 | 617,472 | 27-Mar-2006 | 19:09 | IA-64 | Svrnetcn.dll | 2000.80.2191.0 | 427,520 | 27-Mar-2006 | 21:32 | IA-64 | Xpstar.dll | 2000.80.2191.0 | 873,472 | 27-Mar-2006 | 21:41 | IA-64 |
WORKAROUNDTo work around this problem, you may temporarily prevent the
use of the xp_availablemedia system extended stored procedure. To do this, use the following
code example.
use master
go
if exists (select * from master.dbo.sysobjects where name = N'xp_availablemedia'
and type = N'X')
exec sp_dropextendedproc N'xp_availablemedia'
go
If you want to re-add the xp_availablemedia system extended stored procedure after you install the hotfix,
use the following code example.
use master
go
sp_addextendedproc N'xp_availablemedia',N'xpstar.dll'
go
If you remove the procedure, any call to the sp_MSSharedFixedDisk stored procedure fails, and any File dialog box
in SQL Server 2000 Enterprise Manager does not appear. You do not receive an
error message in DTS Designer. However, the File dialog boxes
do not appear. After you remove the xp_availablemedia system extended stored procedure, you must manually type the file
name or the folder location that you want. Also, after you remove the xp_availablemedia system extended stored procedure and you click the ellipsis
button ( ...) in SQL Server 2000 Enterprise Manager, you
receive the following error message in a Microsoft SQL-DMO (ODBC
SQLState: 42000) dialog box: Error 2812: Could
not find stored procedure 'xp_availablemedia'. Note The xp_availablemedia system extended stored procedure may be automatically re-added to
the SQL Server when any one of the following conditions is true:
- You restore the master database.
- You rebuild the master database by using the Rebuildm.exe
utility.
- You install a service pack or a hotfix.
STATUSMicrosoft
has confirmed that this is a problem in the Microsoft products that are listed
in the "Applies to" section.
Modification Type: | Minor | Last Reviewed: | 10/3/2006 |
---|
Keywords: | kbBug kbHotfixServer kbQFE KB916950 kbAudITPRO kbAudDeveloper |
---|
|