Microsoft KB Archive/815431

= Installation of a named instance of SQL Server 2000 virtual server on a Windows Server 2003-based cluster fails =

Article ID: 815431

Article Last Modified on 4/16/2007

-

APPLIES TO

 Microsoft SQL Server 2000 Standard Edition, when used with:  Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)

 Microsoft Windows Server 2003, Datacenter Edition (32-bit x86) 

-



SYMPTOMS
When you install a named instance of Microsoft SQL Server 2000 virtual server on a computer that is running Microsoft Windows Server 2003, Enterprise Edition or Microsoft Windows Server 2003, Datacenter Edition, the following behavior occurs:  Setup stops responding. You receive the following error message:

The cluster resource failed to come online. If extended error information was reported by the clustering service it can be obtained from the event log.

</li> The following text is logged in the Sqlstp.log file in the Windows folder:

12:00:42 End Action : CreateVirtualServerResources

12:12:05 The cluster resource failed to come online. If extended error information was reported by the clustering service it can be obtained from the event log.

</li> The following error message is logged in the SQL Server virtual server Setup file (Sqlclstr.log):

00000750.00000190::2003/02/05-02:34:50.387 ERR SQL Server <SQL Server (ONE)>: [sqsrvres] checkODBCConnectError: sqlstate = 01000; native error = 35; message = [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect).

00000750.00000dd8::2003/02/05-02:34:51.470 WARN [RM] RmpTimerThread: Resource SQL Server (ONE) pending timed out, CP 0 - setting state to failed.

</li> You may receive an Appshelp error message that is similar to the following:

The version of SQL Server 2000 you are running has known security vulnerabilities with Windows Server 2003. To prevent virus and work attacks, the TCP/IP and UDP network ports are disabled. Please install a patch or upgrade your service pack to make your server more secure.

</li></ul>

<div class="cause_section">

CAUSE
To run SQL Server on Windows Server 2003, you must have SQL Server 2000 Service Pack 3 (SP3) installed. Windows Server 2003 blocks TCP/IP functionality for named instances that are not running SQL Server 2000 SP3 or later. In SQL Server 2000 virtual server Setup, SQL Server resources are created and brought online. To bring a resource online, a lightweight connection is made to the computer that is running SQL Server by using the SQL Server resource DLL (Sqsrvres.dll or Sqagtres.dll). The connection request fails because of the blocked TCP/IP functionality. This behavior causes Setup to stop responding.

<div class="workaround_section">

WORKAROUND
To get to the supported configuration of SQL Server 2000 SP3 on a Windows Server 2003-based computer, use the one of the following methods.

Method 1
For Windows Server 2003 32-bit editions, use Client Network Utility (CNU) to create a named pipes alias.

Before you install a named instance of SQL Server 2000 virtual server, use CNU to create a server alias to make a connection over named pipes (during Setup) while creating and bringing the SQL Server resources online. Repeat this process for each named instance installation. <ol> From the node where you want to run Setup, create a server alias for the client connection: <ol style="list-style-type: lower-alpha;"> Run Cliconfg.exe on the cluster node where you will run Setup.

Note If Cliconfg.exe is not installed on your computer, install it by running Sqlredis.exe from the SQL Server 2000 installation files. To do this, type the following information at a command prompt:

\x86\Other\sqlredis.exe /q:a /C:&quot;setupre.exe WARN=1 -s -SMS&quot;

You may have to restart your computer if Cliconfg.exe is not immediately available. For more information about SQL Server 2000 Setup, click the following article number to view the article in the Microsoft Knowledge Base:

257716 Frequently asked questions - SQL Server 2000 - Setup

</li> In the SQL Server Client Network Utility dialog box, click the Alias tab.</li> Click Add to open the Add Network Library Configuration dialog box.</li> Click to select the Named Pipes check box.</li> Type the alias name in the Server alias box. For example, type the following: \ .</li> Type the virtual server instance name in Server name box. For example, type the following: \ .</li> Verify the name in the Pipe name box. By, default, the value in the Pipe name box is:

\\ \pipe\MSSQL$ \sql\query

</li></ol> </li> Run SQL Server 2000 Setup.</li> For the virtual server name, use the same virtual server name and instance name that you used in steps 1e and 1f.</li> Run SQL Server 2000 SP3 Setup.</li> Remove the named pipes alias that you created in step 1.</li></ol>

Method 2
When you install a 32-bit edition of SQL Server 2000 on a 64-bit edition of Windows Server 2003, follow these steps: <ol> <li>On the node where you want to run the SQL Server Setup program, click Start, click Run, type RegEdit, and then click OK.</li> <li>Locate and then right-click the following registry subkey:

</li> <li>Point to New, and then click String Value. A new registry entry is created.</li> <li>Type the following name for the newly created registry entry:

\

Note  is a placeholder for the name of the virtual server. is a placeholder for the name of the named instance of SQL Server 2000.</li> <li>Right-click the newly created registry entry, and then click Modify.</li> <li>In the Edit String dialog box, paste the following text in the Value Data box:

DBNMPNTW,\\ \pipe\MSSQL$ \sql\query

</li> <li>Click OK.</li> <li>Exit Registry Editor.</li></ol>

<div class="references_section">