Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2 как один файл для загрузки. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2.
Проблемы
Рассмотрим следующий сценарий.
-
Вы создаете бизнес-правило для сущности в SQL Server 2008 R2 Master Data Services (MDS). У сущности есть несколько доменных атрибутов, заполняемых значениями из одной и той же сущности. У нового бизнес-правила есть условия, определенные для нескольких атрибутов доменных данных, и эти условия указывают на одну и ту же сущность.
-
Вы пытаетесь опубликовать бизнес-правило.
В этом случае появляется сообщение об ошибке, подобное следующему:
Произошла ошибка базы данных. Обратитесь к системному администратору. Кроме того, вы можете найти сообщение об ошибке, похожее на следующее в MDSTrace. log MDS: 0: произошла ошибка базы данных. Обратитесь к системному администратору. на веб-странице Microsoft. MasterDataServices. Core. Access. DbHelper. HandleExceptions (исключение ex) в Microsoft. MasterDataServices. Core. Access. DbHelper. ExecuteNonQuery (строковый запрос, CommandType commandType, CloseConnectionBehavior closeBehavior) в Microsoft. MasterDataServices. Core.. BusinessRules. BusinessRulesExecuteScript (CloseConnectionBehavior closeBehavior; строковый сценарий) на веб-странице Microsoft. MasterDataServices. Core. BusinessLogic. BusinessRulesPublish. Generation. RunGeneration (BusinessRules-businessLogicLayer, EntityId) ошибка SQL Error Info: номер: 102, сообщение: неправильный синтаксис около "DBA. <имя>. <конечный>"., сервер: ServerName, процесс: Udp_SYSTEM_X_X_CHILDATTRIBUTES_ProcessRules, строка: X
Причина
Эта проблема была вызвана известной проблемой в таблице стилей XSLT, которая использовалась для создания синтаксиса хранимой процедуры для хранимых процедур бизнес-правил. Возникла проблема, связанная с тем, что в синтаксисе отсутствует запятая.
Решение
Сведения о накопительном пакете обновления
SQL Server 2008 R2 SP2
Исправление для этой проблемы впервые выпущено в накопительном обновлении 2. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, щелкните следующий номер статьи базы знаний Майкрософт:
2740411 Накопительный пакет обновления 2 для SQL Server 2008 R2 с пакетом обновления 2 (SP2) Примечание. Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".