Tip o' the day: 12/05/2006 - Moving your RMS SQL Dbase to another server.

Problem: Your new boss decides that he wants the key machines within your forest to now be professionally named with a purpose, instead of using the funny office names you currently have like 'DuckButt', and 'PickleMonkey'. Maybe you got a new server, and need to move everything onto it, or maybe your old RMS server is becoming a fire hazard. 'Oh, no!' you think, the RMS database needs to be moved. What do I do?

 

Solution: Ideally, when you move/restore the RMS databases onto a SQL server, it is recommended to keep the same SQL server name and instance. Since DuckButt will not longer fly with the office brass, you need to change it to something more drab. If you must change the SQL server name and/or instance, you need to make some manual changes to the RMS configuration database, registry keys, and configuration files:

 

TIP: Always use a CNAME record for your RMS cluster URL, not the netbios name of the machine. If you need to switch servers later, or want to set up an NLB, all you will have to do is point the CNAME record at another location. Remember ALL of your content will have this URL embedded into it, so having the ability to change the server, without changing the name is key. The same goes for your SQL instance. Create and use a cname record for the SQL server, and if something happens to the SQL server, you can easily point the cname record to the backup server, with minimal downtime.

 

1) It is recommended that you back up the 3 DRMS SQL databases, but at a minimum, go to "Trust policies" and export your Enterprise Trusted Publishing Domain.  This can be used as a minimal disaster recovery backup.  If needed, you can import this file into any RMS installation to recover documents if necessary.  Please note that the export is done with the RMS Service Account so make sure the account has write

access to the destination. You should also export the 'sysmessages' table from the old master database, and import it into the new one.

 

NOTE**If you blow away your database before you exported and imported the sysmessages table, all is not lost. Just follow the steps listed here to restore it: https://support.microsoft.com/kb/913372

 

OK, so now you have everything imported into the new SQL server.

 

2) Run RMSConfigEditor.exe from the RMS toolkit.

 

3) Type the name of the SQL server in the Server text box and click "Go".

 

4) Pick the DRMS_Config database from the Database drop down list and click "Go".

 

5) Open the DRMS_ClusterPolicies and find the following PolicyName entries.  In the corresponding PolicyData entry, you will find the name of the SQL server being referred to.  Adjust the PolicyData entry to the new SQL server name and click the "Persist" button on each.

 

LoggingDatabaseServer

CertificationUserKeyStorageConnectionString

DirectoryServicesCacheDatabase

 

6) Open the DRMS_PluginProperties table and find the following PropertyID/PolicyName entry.  In the corresponding PropertyValue entry, you will find the name of the SQL server being referred to.  Adjust the PropertyValue entry to the new SQL server name and click the "Persist" button.

 

PropertyID: 101 PropertyName: PERSISTENT_STORAGE

 

7) Exit the RMS Config Editor.  The changes should have been made.

 

8) Go into the 3 web.config files located in the directories under c:\inetpub\wwwroot\_wmcs (Admin, Certification, Licensing, GroupExpansion, Decomission) and search for the old SQL name. Replace it with the new SQL name.

 

9) Go to Start>Run Regedit and modify the following keys:

 

HKLM/Software/Microsoft/DRMS/1.0/KeyProtection

There will be a key in here that starts PasswordDerivedKey_<SQL Server>...

You will need to change this to reflect the new SQL dbase name.

 

HKLM/System/ControlSet001/Services/DRMS_Logging_<rms instance>_80/Params

ConnectionString needs to be changed to reflect the new SQL name.

HKLM/System/ControlSet002/Services/DRMS_Logging_<rms instance>_80/Params

ConnectionString needs to be changed to reflect the new SQL name.

 

HKLM/System/CurrentControlSet/Services/DRMS_Logging_<rms instance>_80/Params

ConnectionString needs to be changed to reflect the new SQL name.

 

10) Go to a command prompt and run IISRESET.

 

Now you can relax, and use DuckButt as the office Quake server or something. :)