Programs may fail when you remove an instance of SQL Server 2000, MSDE 2000, or SQL Server 2000 Desktop Engine (Windows) (918767)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions) SP4
  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP4

Bug #: 474878 (SQL Server 8.0)

SYMPTOMS

Consider the following scenario. You remove an instance of one of the following products:
  • Microsoft SQL Server 2000 Desktop Engine (also known as MSDE 2000) Service Pack 4 (SP4)
  • SQL Server 2000 Desktop Engine (Windows) SP4
  • Microsoft SQL Server 2000 SP4
You then run programs that use other instances of MSDE 2000 SP4, SQL Server 2000 Desktop Engine (Windows) SP4, or SQL Server 2000 SP4. In this scenario, these programs may fail. Then, the program in question generates the following error message:
Failed to load msxmlsql.dll
Note This error message might also be logged in the program's log file.

The following is a typical scenario in which this problem occurs:
  • Microsoft Windows Small Business Server 2003 SP1 is running on the computer.
  • Microsoft Windows SharePoint Services is running on the computer, and the computer connects to its own instance of SQL Server 2000 Desktop Engine (Windows) SP4.
  • Microsoft Windows Server Update Services (WSUS) is installed on the computer, and the computer connects to its own instance of SQL Server 2000 Desktop Engine (Windows) SP4.
After you remove the instance of SQL Server 2000 Desktop Engine (Windows) SP4 that Windows SharePoint Services uses, WSUS cannot run on the computer. If SQL Server 2000 SP4 is installed on the computer that is running Windows Small Business Server 2003 SP1 and you remove SQL Server 2000 SP4, WSUS cannot run on the computer.

CAUSE

The problem occurs because of the following conditions:
  • The Msxmlsql.dll file is deleted from the %programfiles%\Microsoft SQL Server\80\Shared folder when you remove the instance of MSDE 2000 SP4, the instance of SQL Server 2000 Desktop Engine (Windows) SP4, or the instance of SQL Server 2000 SP4.
  • The Msxmlsql.rll file is deleted from the %programfiles%\Microsoft SQL Server\80\Shared\Resources\1033 folder when you remove the instance of MSDE 2000 SP4, the instance of SQL Server 2000 Desktop Engine (Windows) SP4, or the instance of SQL Server 2000 SP4.
In some cases, the %programfiles%\Microsoft SQL Server\80\Shared folder will be deleted after you remove the instance of MSDE 2000 SP4, the instance of SQL Server 2000 Desktop Engine (Windows) SP4, or the instance of SQL Server 2000 SP4.

Therefore, programs that use the other instances of MSDE 2000 SP4, SQL Server 2000 Desktop Engine (Windows) SP4, or SQL Server 2000 SP4 on the computer cannot run if the programs depend on the Msxmlsql.dll and Msxmlsql.rll files.

WORKAROUND

To work around this problem, restore the Msxmlsql.dll file to the %programfiles%\Microsoft SQL Server\80\Shared folder. To do this, use one of the following methods.

Note If the %programfiles%\Microsoft SQL Server\80\Shared folder is deleted from the computer, you have to create the Shared\Resources\1033 folder structure in %programfiles%\Microsoft SQL Server\80, and then use one of the following methods.

Method 1

Restore the Msxmlsql.dll file from the MSDE 2000 SP4 installation package. To do this, follow these steps:
  1. Extract the MSDE 2000 SP4 installation package to a folder. Assume that the package is extracted to the default folder (C:\SQL2KSP4).
  2. Run the following command at a command prompt:

    expand "C:\SQL2KSP4\MSDE\SETUP\SQLRUN.CAB" -F:MSXMLSQL.DLL* "%programfiles%\Microsoft SQL Server\80\shared"
    rename "%programfiles%\Microsoft SQL Server\80\shared\ MSXMLSql.dll.CD093EA8_A990_4429_AF6A_29A30691991E" MSXMLSQL.DLL
    expand "C:\SQL2KSP4\MSDE\SETUP\SQLRUN.CAB" -F:MSXMLSQL.RLL* "%programfiles%\Microsoft SQL Server\80\shared\Resources\1033\"
    rename "%programfiles%\Microsoft SQL Server\80\shared\Resources\1033\ MSXMLSQL.RLL.996A3FBA_B9BC_4189_9DB1_2B3C86B526BC" MSXMLSQL.RLL

Method 2

Restore the Msxmlsql.dll file from the SQL Server 2000 SP4 installation package. To do this, follow these steps:
  1. Extract the SQL Server 2000 SP4 installation package to a folder. Assume that the package is extracted to the default folder (C:\SQL2KSP4).
  2. Copy the Msxmlsql.dll file in the C:\SQL2KSP4\x86\binn folder to the %programfiles%\Microsoft SQL Server\80\shared folder.
  3. Copy the Msxmlsql.rll file in the C:\SQL2KSP4\x86\binn folder to the %programfiles%\Microsoft SQL Server\80\shared\Resources\1033 folder.
If you are running Windows Small Business Server 2003 SP1, you can restore the Msxmlsql.dll file and the Msxmlsql.rll file by using Method 1. The SqlRun.cab file is located in the %programfiles%\Microsoft SQL Server SP4\WMSDE\SETUP folder.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Modification Type:MinorLast Reviewed:7/18/2006
Keywords:kbExpertiseAdvanced kbtshoot kbprb KB918767 kbAudDeveloper kbAudITPRO