How To Rebuild an MSMQ Site Controller on a Computer Running MSCS and SQL Server 7.0 (275474)



The information in this article applies to:

  • Microsoft Message Queue Server (MSMQ) 1.0
  • Microsoft Cluster Server
  • Microsoft SQL Server 7.0

This article was previously published under Q275474

SUMMARY

This article describes how to rebuild a Microsoft Cluster Server (MSCS) that is running as a Site Controller in a Microsoft Message Queue Server (MSMQ) 1.0 enterprise.

MORE INFORMATION

Before You Begin

  • The procedure for recovering the Message Queue Information Service (MQIS) is the same for Primary Enterprise Controllers (PECs) and Primary Site Controllers (PSCs). Each of these devices contains an exact copy of the PEC's MQIS database. A PEC can be recovered with a PSC's database or Backup Site Controller's (BSC's) database, and so forth. However, PSCs require an additional step to recover the SiteID entry in the registry.
  • This procedure requires a copy of the Isql.exe file from SQL Server 6.5. This file can be found on the Option Pack CD with the sample copy of SQL Server 6.5 and on the Microsoft Windows NT Server Enterprise Edition CD2.
  • This procedure requires the files provided in the following article in the Microsoft Knowledge Base:

    262882 Install an MSMQ Site Controller on a Microsoft Cluster Server with SQL Server 7

    This fix incorporates a new setup DLL for MSMQ used only with SQL Server 7.0 on a cluster. The fix also includes a program that updates the second node of a cluster after you install MSMQ on the first node. To obtain this fix, contact Microsoft Product Support Services.
  • It is not necessary to restore the MQIS if a BSC is rebuilt by reinstalling MSMQ as a BSC. The creation of the BSC MQIS is automatically replicated from the PSC that it will support. The exception is when clients are configured to use a BSC as their primary server.
  • All MSMQ computers retain a SiteID entry in the registry. If you must rebuild a PSC, and you must retain the PSC's previous Site configuration, you must restore this registry key. This step is necessary only for PSCs. For more information, see the following article in the Microsoft Knowledge Base:

    240438 INFO: Backup\Restore of MSMQ Server Registry Keys

  • SQL Server does not allow you to restore a backup of a database from another SQL Server with a different sort order. The default sort order configuration option for the retail versions of SQL Server is 51.

Install and Create the Cluster Server

  1. Install and establish cluster software on the target computers and choose which of these two nodes will be the master node for installation (Node A). Make sure that both nodes of the cluster are running Windows NT 4.0 Service Pack 3.
  2. Create a group that you will use for the installation of SQL Server and MSMQ Server and ensure that this group is moved onto Node A. This group must contain at least a network name resource and a shared disk resource.
  3. Do not install MSMQ at this time; install the Windows NT Option Pack as described at the following Microsoft Web site: After the installation has finished on both nodes and the computers have restarted, install Windows NT 4.0 Service Pack 4 on both computers.
  4. Make sure that the group created in step 2 is on Node A, and install SQL Server 7.0 into the group according to the following article in the Microsoft Knowledge Base:

    219264 INF: Order of Installation for SQL Server 7.0 Clustering Setup

  5. Install SQL Server 7.0 Service Pack 1.
  6. Run the Failover cluster wizard on Node A to create an Active-Passive SQL cluster.

Prepare the MSMQ Installation Folder

  1. Create a folder named "MSMQ" on the shared disk where you are going to install MSMQ. Create a subfolder named "Setup".
  2. Copy the Mqsetup.dll file from the fix provided in the following article into the Setup folder that you created in step 1:

    262882 Install a MSMQ Site Controller on a Microsoft Cluster Server with SQL Server 7

  3. Copy the Mq2ndnd.exe file into the %system root%\System32 folder on Node B.

Create the MQIS Database

  1. On the Cluster, create a database called "MQIS", and change the default location of the database and log file to the folder where you will eventually install MSMQ.
  2. On one of the exisiting Site Controllers running SQL Server 7.0, create a Data Transformation Services (DTS) package to export the MQIS database by right-clicking the MQIS Database in SQL Enterprise Manager, and choosing to export data.
  3. After the DTS Export Wizard has started, choose the Source Database as the Local "MQIS" and the destination computer and database as the Virtual SQL Server on the Cluster and the MQIS database created in the previous step. When prompted, select Transfer objects and data between SQLServer 7.0 databases, click Next, and then accept the remaining default options.
  4. When the DTS transfer is complete, check that the new Database has been populated on the Cluster.
To allow the MSMQ setup to run correctly, follow these steps:
  1. Locate a copy of the file Isql.exe from SQL Server 6.5. This file can be found on the Option Pack CD with the sample copy of SQL 6.5 and on the Windows NT Server Enterprise Edition CD2.
  2. Copy Isql.exe from SQL 6.5 to the \MSSQL7\Binn folder where you installed SQL 7.0, rename the existing file, and insert the SQL 6.5 version. When the setup of MSMQ is finished, restore the original SQL 7.0 file.

Reinstall Your MSMQ Server.

  1. Make sure that the target resource group is on Node A, start the Windows NT 4.0 Option Pack Setup program on Node A, select Add/Remove, and add MSMQ.
  2. In the Select MSMQ Device dialog box, click the MSMQ server type you are restoring, and then click Continue. Choose to install the MSMQ files in the folder created in the previous process.
  3. In the Enter Enterprise Name and Enter Enterprise Site fields, enter the name of your original Enterprise and Site name. Click Continue.
  4. The installation of MSMQ begins, and the progress is shown on the status bar. Near the end, a dialog box appears stating that an MQIS database already exists. Click Update Existing Database and then click Continue.
  5. A further dialog box appears at the end of installation on Node A, reminding you to copy the Mq2ndnd.exe file into the System32 folder on Node B, to switch to this node and run the executable and restart Node B. After Node B is back online and has rejoined the cluster, restart node A.

    NOTE: The Mq2ndnd.exe tool does not display information to show that it has finished setup.
  6. If you are installing an MSMQ PEC or PSC to a restored MQIS from the beginning, and there are additional PSCs and BSCs in the enterprise, you must renew the cryptographic keys. This is explained below.
NOTE: Please note that the MQIS database stores MSMQ Enterprise configuration information. No messages are stored in the MQIS database. Backing up or recovering the MQIS database will not recover messages that may have existed in queues. Queues on the failed computer may also need to be re-created if the drive has been formatted or the queues have been deleted.

All MSMQ computers with the exception of dependent clients use cryptographic keys. These cryptographic keys are used for various security operations in MSMQ. Users can renew the cryptographic keys by using the MS Message Queue application in Control Panel.

For independent clients and MSMQ routing servers, the only implication of renewing the cryptographic keys is that private (encrypted) messages, which were encrypted according to the previous keys and were then sent to the computer, are rejected. This occurs until the new public keys are propagated to all MQIS servers and the sending computers begin using the new public key.

If you renew the cryptographic keys for a PEC, the enterprise PSCs reject any MQIS replication messages sent from the PEC. If you renew the cryptographic keys for a PSC, all of its BSCs reject any MQIS replication messages that are sent from the PSC. This problem occurs only if the MQIS servers are not configured for secure communication.

If you renew the cryptographic keys of an MQIS server and not all of your MQIS servers are not configured for secure communication, use the following procedure to correct the problem:
  1. On the MQIS server for which you change the cryptographic keys, click Start, click Run, and then type:

    mqsrvkey newkey.key

    where newkey.key is the output file name that you want to use.

    NOTE: The mqsrvkey command line utility is installed in the MSMQ folder by default (typically C:\Program Files\MSMQ).
  2. If you changed the cryptographic keys on a PEC, copy the file you created to each PSC. If you changed the cryptographic keys on a PSC, copy the file you created to each BSC.
  3. On each PSC or BSC to which you copied the file, run mqsrvkey and specify the name of the file you copied.

Modification Type:MinorLast Reviewed:7/2/2004
Keywords:kbhowto KB275474