We found an interesting situation during our testing of the BES 4 installation. I've spoken to BlackBerry about it and they hadn't heard of this issue. I'd like to find out if has affected others.
During the install of BES4 against a remote SQL database, a sql script is run named errors.sql that contains the code below. The script looks for sql messages numbers in the 60000 range such as 60003 and deletes them if they exist, then adds in BES errors.
Our problem is that we have existing systems that use the same error numbers. For example, one of our database monitoring scripts uses one of these numbers to log an application entry after unsuccessful backups. HP OVO picks up the error (by the message text, not the number) in the app log and fires an alarm in the HP console. So, if we were to install BES4 on our production db server, a failed backup would now generate a "Unable to add MDS Mapping. Duplicate Pin: [%d]" error to the event log instead of "%s backup failed" and HPOVO would not fire any alarms for our dba to fix the backup issue. In addition, our dba would wonder what MDS Mappings and duplicate PIN errors mean.
Could this really be the first time that the BES errors have overwritten errors or have others seen this issue?
In my opinion, RIM should update the SQL script to find an unused number rather than overwrite an existing code. However, their support staff could only suggest that I send a request to
, change to using an MSDE db (which would break our BES hot-spare), or install a dedicated db server for the BES db.
I'm planning to send to bbsuggestions, but I'd like to get an idea of how big or small this issue might be.
Any thoughts would be appreciated.
------------------ code snip from errors.sql -------------
PRINT 'Adding error messages to the database'
SET NOCOUNT ON
/* BESAgent errors */
IF EXISTS (SELECT error FROM sysmessages
WHERE error = 60002)
EXEC sp_dropmessage @msgnum = 60002, @lang = 'us_english'
EXEC sp_addmessage @msgnum = 60002, @severity = 16,
@msgtext = N'Unable to add new BlackBerry Agent "%s" AgentID=%d Machine Name=%s',
@lang = 'us_english'