FIX: "A database error has occurred. Contact your system administrator" error message occurs when you try to populate the business rule of an entity in SQL Server 2008 R2 MDS

Microsoft distributes Microsoft SQL Server 2008 R2 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release.
Symptoms
Consider the following scenario:
  • You create a business rule for an entity in SQL Server 2008 R2 Master Data Services (MDS). The entity has multiple domain-based attributes that are populated by values from the same entity. The new business rule has conditions that are defined for more than one domain-based attribute, and these conditions point at the same entity.
  • You try to publish the business rule.
In this scenario, you receive an error message that resembles the following:


A database error has occurred. Contact your system administrator.

Additionally, you can find an error that resembles below in MDSTrace.log

MDS Error: 0 : A database error has occurred. Contact your system administrator.
   at Microsoft.MasterDataServices.Core.DataAccess.DbHelper.HandleExceptions(Exception ex)
   at Microsoft.MasterDataServices.Core.DataAccess.DbHelper.ExecuteNonQuery(String query, CommandType commandType, CloseConnectionBehavior closeBehavior)
   at Microsoft.MasterDataServices.Core.DataAccess.BusinessRules.BusinessRulesExecuteScript(CloseConnectionBehavior closeBehavior, String script)
   at Microsoft.MasterDataServices.Core.BusinessLogic.BusinessRulesPublish.Generation.RunGeneration(BusinessRules businessLogicLayer, Int32 entityId, BREntityMemberType ruleSubType, OperationResult result)
SQL Error Debug Info: Number: 102, Message: Incorrect syntax near 'DBA.<NAME>.<LEAF>'., Server: ServerName, Proc: udp_SYSTEM_X_X_CHILDATTRIBUTES_ProcessRules, Line: X

Cause
This issue was caused a known issue in the XSLT style sheet that was used to generate stored procedure syntax for the business rule stored procedures. The specific problem was that a comma was missing in the syntax.
Resolution

Cumulative update information


SQL Server 2008 R2 SP2


The fix for this issue was first released in Cumulative Update 2. For more information about how to obtain this cumulative update package for SQL Server 2008 R2, click the following article number to view the article in the Microsoft Knowledge Base:
2740411 Cumulative Update package 2 for SQL Server 2008 R2 Service Pack 2
Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2567616 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 2 was released
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Properties

Article ID: 2723232 - Last Review: 09/05/2012 02:20:00 - Revision: 3.0

Customer Service and Support Information

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced KB2723232
Feedback