KB2723232 - FIX: "Ocorreu um erro de base de dados. Contacte o administrador do seu sistema" a mensagem de erro ocorre quando tenta preencher a regra de negócio de uma entidade no SQL Server 2008 R2 MDS

Aplica-se a: SQL Server 2008 R2

A Microsoft distribui as correções R2 do Microsoft SQL Server 2008 como um ficheiro transferível. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção de R2008 do SQL Server 2008.

Sintomas


Considere o seguinte cenário:
  • Cria uma regra de negócio para uma entidade no SQL Server 2008 R2 Master Data Services (MDS). A entidade tem vários atributos baseados em domínios que são povoados por valores da mesma entidade. A nova regra comercial tem condições que são definidas para mais de um atributo baseado em domínio, e estas condições apontam para a mesma entidade.
  • Tentas publicar a regra do negócio.
Neste cenário, recebe uma mensagem de erro que se assemelha ao seguinte:
Ocorreu um erro de base de dados. Contacte o administrador do seu sistema. Além disso, pode encontrar um erro que se assemelhe a baixo no Erro MDS MDS MDS MDS MDS: 0 : Ocorreu um erro de base de dados. Contacte o administrador do seu sistema.   em Microsoft.MasterDataServices.Core.DataAccess.DbHelper.HandleExceptions (Exceção ex) em Microsoft.MasterDataServices.Core.DataAccess.DbHelper.ExecuteNonQuery (consulta de cordas, Comando DeTiputype, CloseConnectionBehavior closeBehavior) em Microsoft.MasterDataServices.Core.DataAccess.BusinessRules.BusinessRules.BusinessRulesExecuteScript (CloseConnectionBehavior closeBehavior, String script) at Microsoft.MasterDataServices.Core.BusinessLogic.BusinessRulesPublish.Generation.RunGeneration(BusinessRules businessLayLogicer, Int32 entity, Int32 BREntityMemberType regraSubType, resultado operaçãoResult)SQL Error Debug Info: Número: 102, Mensagem: Sintaxe incorreta perto de 'DBA.<NAME>.<> LEAF'., Servidor: ServerName,Proc: udp_SYSTEM_X_X_CHILDATTRIBUTES_ProcessRules, Linha: X

Causa


Esta questão foi causada por um problema conhecido na folha de estilo XSLT que foi usada para gerar sintaxe de procedimento armazenado para os procedimentos armazenados pela regra de negócio. O problema específico era que faltava uma vírgula na sintaxe.

Resolução


Informação de atualização cumulativa

SQL Server 2008 R2 SP2

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 2. Para obter mais informações sobre como obter este pacote de atualização cumulativa para SQL Server 2008 R2, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2740411 Pacote de atualização cumulativa 2 para SQL Server 2008 R2 Service Pack 2
Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção R2008 do SQL Server 2008. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
2567616 O SQL Server 2008 R2 constrói que foram lançados após o lançamento do SQL Server 2008 R2 Service Pack 2

Estado


A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".