Freigeben über


RMSSUPP KB Article 02: Event ID: 9 - RMS stops issuing certificates - RMS and Blackberry sharing the same SQL instance.

Ahh. The second KB article. Maybe now that there is two of them, they will multiply.

Problem:

If you are using Blackberry Enterprise Systems (BES), and RMS, and both are sharing the same SQL database, you may run into the following issue. 

RMS users are no longer able to get RACs issued from the RMS server.

The following error is in the RMS server application event log.

Event Type: Error
Event Source: RMS
Event Category: Certification
Event ID: 9
Date: X/XX/XXX
Time: XX:XX:XX AM
User: N/A
Computer: RMSSERVER
Description:
A general error occurred. The following information was reported:
System.Data.SqlClient.SqlException: RAISERROR failed due to invalid parameter
substitution(s) for error 60002, severity 5, state 1.
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior,
RunBehavior runBehavior, Boolean returnStream)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at
Microsoft.DigitalRightsManagement.Certification.CertificationGen._GetUser(Identifica
tion identification)
at
Microsoft.DigitalRightsManagement.Certification.CertificationGen._GetUserKeysAndCert
ificateWithQuota(String userName, Identification identification, DateTime
passportAccountCreation, Byte[] machinePublicKeyHash, Boolean persistent,
RsaKeyBlob& userKeys, PersonaCertificate& certificate, QuotaResponse& quota)
at Microsoft.DigitalRightsManagement.Certification.CertificationGen.Certify(String
userName, Identification identification, String machineCertificate, DateTime
passportAccountCreation, Boolean persistent)
at Microsoft.DigitalRightsManagement.Certification.Pipeline.Certify(CertifyParams[]
requestParams, HttpRequest request, IIdentity userIdentity).

Cause:

Blackberry Enterprise apparently uses the same entries in the sysmessages table that RMS does, and will overwrite the entries with their own values.

Solution:

1. On the server running SQL Server that is missing the sysmessages, start Query Analyzer. This is located in the SQL Server program group on the Start Menu.

2. When Query Analyzer is opened, you will see a dialog asking you to log in.
Ensure that the SQL Server: field contains either "."(without the quotes) or the name of the local server. If the SQL Server was installed as a named instance, this field should contain <ServerName>\<InstanceName>. If you are unsure of whether or not SQL Server is a named instance, it most likely is not.

3. For the login, you can choose Windows Authentication if you are using a default installation of SQL Server and are currently logged in to the server as a local administrator. If connecting with Windows Authentication fails, you will need to choose SQL Server authentication and specify a login and password of a valid SQL Server login that is a SQL Server system administrator. The sa login has these rights by default.

4. Once connected to SQL Server, paste the following script into the query window:
exec sp_addmessage 60000, 5, 'Unexpected activation error', 'us_english', false, 'REPLACE'
exec sp_addmessage 60001, 5, 'Bad parameter %s in procedure %s', 'us_english', false, 'REPLACE'
exec sp_addmessage 60002, 5, 'User %s not found', 'us_english', false, 'REPLACE'
exec sp_addmessage 60003, 5, 'Machine quota, %d, for user %d exceeded', 'us_english', false, 'REPLACE'

5. To run the script, either click the Run button (the green play button) or press F5.

6. A lower pane should appear in the window with multiple lines indicating some rows were affected. This indicates that the script ran successfully.

7. Close SQL Server Query Analyzer. The messages are now recreated successfully.

8. You should move either the RMS databases, or the BES databases to a different SQL instance. Eventually BES will overwrite the table again, and the issue will re-occur.

-Jason

Comments

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Jason I found your article very useful. But in my case, i've installed my SQL Server using localized version. Do i have to modify the query in this case? Like this one. exec sp_addmessage 60000, 5, '예상치 않은 오류가 발생했습니다', '한국어', false, 'REPLACE' Thanks.

  • Anonymous
    January 01, 2003
    Actually, the problem will go away if you update RMS to SP2. I've never tried it on a localized version. To be 'safe' though, I would backup the SLC, and TPD, then upgrade to SP2 so you don't have to worry about this problem (and other problems) anymore. There is no 'downside' to upgrading. All of your existing clients will still work, all of your content will still be able to be opened, and you'll have less issues, more functionality with things like MOSS, and a more stable RMS setup.