I had an issue recently at a clients site where after a deployment of an application to their test environment where everything seemed to go fine that when smoke testing it it was complaining that the BRE Policy it needed was not deployed, as the policy was a resource in the MSI that was deployed and this seemed very odd.
So first I checked in the application that the BRE Policy was part of, it was not to be seen, also trying to add it to the application I got the message “There are no policies that can be added to the application APPNAME”. So next I checked under <All Artifacts>, Policies and sure enough it wasn’t visible there.
So next I tried manually Importing the Policy from BizTalk Server Administration Console (right click Policies under <All Artifacts> and select Import) but then I got the following error message. “Unable to access Rule Store Provider. Verify if Business Rule Engine feature is installed and configured”
Initial Googling the above error mainly came up with sites referring to the Registry key HKEY_LOCAL_MACHINE\Software\Microsoft\BusinessRules\3.0\DatabaseName & DatabaseServer however this key was not present at all, as this was a 64 bit machine and it is actually HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\BusinessRules\3.0\DatabaseName & DatabaseServer and it was correctly populated.
The BizTalk Server Configuration also looked correct.
Next I launched Microsoft Business Rule Composer. In there I could see that the policy was actually there and in a published state.
So I tried deploying it and got the error “The database “SERVER:BizTalkRuleEngineDb” associated with the deployment driver does not match the database “:” specified during product configuration.”
Googling that error led me to the blog Error: The database BizTalkRuleEngineDb associated with the deployment driver does not match the database specified during product configuration Which strangely hadn’t appeared in my initial search. That blog then pointed me to look in the BizTalkMgmtDb at the adm_Group table, and sure enough as they had encountered the fields RuleEngineDBServerName and RuleEngineDBName were not populated. Checking development and Production environments and these fields were populated.
The blog above also had a link to Error Message: The database “.:BizTalkRuleEngineDb” associated with the deployment driver does not match the database “.:BizTalkRuleEngineDb” specified during product configuration.
This blog documented not only the registry key and the adm_Group database but also two other tables that refer to the DB Server for the rule engine
However these were correct.
So then wrote a SQL script to update this table.use BizTalkMgmtDb
SET RuleEngineDBServerName = ‘SERVERNAME’,
RuleEngineDBName = ‘BizTalkRuleEngineDb’
WHERE Id = 1
AND RuleEngineDBServerName = ”
AND RuleEngineDBName = ”
select RuleEngineDBServerName, RuleEngineDBName
WHERE Id = 1
The next question, do any of the services related to BizTalk need to be restarted for the fix to take effect?
So I reproduced the issue in a Development environment and confirmed that I got the same symptoms and then applied the SQL script fix. No restart of any of the BizTalk services was needed not even a restart of the BizTalk Server Administration console. So I wrote up my release notes and got it approved for deployment which was promptly carried out and resolved the issue.