Microsoft KB Archive/134937

{|
 * width="100%"|

INF: Running SQL Versions 6.0 and 4.21 Side by Side

 * }

Q134937

-

The information in this article applies to:


 * Microsoft SQL Server versions 4.2x, 6.0

-

SUMMARY
This article describes several items and potential issues to consider when you run Microsoft SQL Server versions 6.0 and 4.21 simultaneously on the same server.

For additional information on this topic, please see the following article in the Microsoft Knowledge Base:

"Q137406 : INF: How To Setup an Alternate Console Pipe"

MORE INFORMATION
  One server version must use an alternate pipe name. Before you choose on which version to change the default pipe, you may want to consider if you will be using Windows NT Performance Monitor, because it only listens on the default pipe.

The default pipe for both versions of SQL Server is \\.\PIPE\SQL\QUERY. Both versions of SQL Server cannot use the default pipe name to accept connections. In this pipe name configuration, one of the server versions must change the "\SQL\" portion to another name, such as \SQL421A\ or \SQL60\. This same concept applies to port numbers for TCP\IP socket connections and service names for NWLink connections. If both servers need to listen for TCP\IP socket connections, then they must be setup to use different port numbers.

To change the named pipe for SQL Server version 4.2x, you need to edit the following key in the Windows NT registry using the NT Registry Editor (REGEDT32.EXE):

     HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SQLServer\Server Change the ListenOn value from the default to something like \\.\PIPE\SQL42\QUERY. You should always make a backup of the NT registry before making any direct modifications using the NT Registry Editor.

To change the default pipe for SQL Server version 6.0, select the Change Network Support Option using the SQL Server Setup program. For TCP\IP and NWLink configurations, the SQL Server Setup program can be used for both versions 4.21a and 6.0. If you are running SQL Server using Windows NT integrated security mode, you cannot change the network support options. If you need to make changes, you must first reset security mode to standard or mixed.

NOTE: Certain SQL tools such as SQL Enterprise Manager, SQL Executive, and SQL Monitor connect by default to SQL Server's default pipe and are changeable. Only SQL Performance Monitor is not changeable.  If the version 6.0 SQL\DLL directory appears before the 4.2x SQL\DLL directory in the path, client programs such as ISQL/w will use the 6.0 version of DB-Library (NTWDBLIB.DLL).

When you try to connect to SQL Server listening on an alternate pipe with the 6.0 version of DB-Library, the advanced configuration entry must have been made with the 6.0 version of Client Configuration Utility. If the 4.21 version of DB-Library is used, the advanced configuration entries must be made with the 4.21 version of the Client Configuration Utility. You must add client configuration entries to register a server with SQL Enterprise Manager when the server is configured to listen on an alternate pipe.

If version 6.0 is configured to listen on an alternate pipe, then an entry in the Advanced section of the Client Configuration Utility must be created.

One method is to create an entry for the version 6.0 server using the NT computer name of the server as the registered SQL server name. In this situation, you need to create another entry for the 4.21a server using an alternate server name. This way, both servers can be registered with SQL Enterprise Manager.

The following are example Advanced entries (using the NT computer name of the server as 'treasure'):

6.0 : SERVER : treasure; DLL : dbnmpntw; CONNECTION STRING : \.\PIPE\SQL60\QUERY

4.21a: SERVER: treasure_421a; DLL: dbnmpntw; CONNECTION STRING: \.\PIPE\SQL\QUERY

NOTE: If a server is registered with SQL Enterprise Manager that is not a valid NT computer name, you will not be able to control the services of that server with SQL Enterprise Manager. Furthermore, if you use an alternate name for a local server that matches the NT computer name of another SQL server on your network, SQL Enterprise Manager will try to control the remote service while connecting to the local server.  If the alternate pipe is set for version 6.0, you need to configure SQL Executive to connect to SQL Server using a specific server name. First, create a specific server connection entry using the Advanced tab of the SQL Client Configuration Utility. Configure this server entry to connect to the local server using the appropriate Net-Library and connection string. Then set the ServerHost value in the SQL Executive section of the Windows NT Registry to the name the name used for the advanced connection above. Here is the location of the ServerHost value:

    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLServer\SQLExecutive   If the alternate pipe is set for version 4.2x, you need to configure SQL Monitor to connect to SQL Server using a specific server name. First, create a specific server connection entry using the Advanced tab of the SQL Client Configuration Utility. Configure this server entry to connect to the local server using the appropriate Net-Library and connection string. Then set the Server value in the SQL Monitor section of the Windows NT Registry to the name the name used for the advanced connection above. Here is the location of the Server value:

    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SQLServer\SQLMonitor  Client applications may require additional configuration. For DB-Library or ODBC clients using the named pipe network library, an additional advanced client configuration entry may be needed similar to step 2. If the client does not create an advanced entry and connects to a server name that matches the NT computer name, it will connect to the server version that is listening on the default named pipe.  Transfer Manager requires a change to the server name if you transfer databases between server versions on the same server. If you need to transfer data between the two SQL Server versions on the same server or perform remote stored procedure calls between them, you have to change the local SQL server name for one of the server versions. This can be done using the stored procedure sp_addserver.

For example, to change the name of the SQL Server version 4.21a, run:

<pre class="FIXEDTEXT">     sp_addserver treasure_421a, local This changes the server name in the master.dbo.sysservers table and sets the @@servername global variable. </li></ol>

Additional query words: sql6 side by side concurrent installations

Keywords : kbenv kbusage

Issue type :

Technology : kbSQLServSearch kbAudDeveloper kbSQLServ600 kbSQLServ420OS2