11.04.2013, 20:11 | #1 |
Участник
|
axforum blogs: Ошибка обновления Организации при установке UpdateRollup
Источник: http://axforum.info/forums/blog.php?b=389
============== Сегодня я обнаружил, что некоторые организации на моем тестовом сервере не обновились до последней версии: Эта информация отображается в списке организаций в CRM Deployment Manager. Раньше я встречал подобное на форуме, но поскольку не сталкивался сам, мне нечего было ответить. Судя по статье базы данных Microsoft Dynamics CRM 2011 updates and hotfixes. Моя организация осталась в состоянии UR6. В интернете так же упоминается, что аналогичная проблема бывает с UR11 и что в процессе установки обновления можно встретить сообщение: Цитата: The Update Rollup XX for CRM 2011 (KBXXXXXXX) completed successfully. However, the database update failed for some organizations. Как бы то ни было, переустановка пакета обновления не требуется, так как Deployment Manager позволяет обновить организации, версии которых отстали от версии развертывания. Для этого достаточно выделить в списке нужную организацию, после чего выбрать опцию Update на панели операций справа. Казалось бы просто, но в результате я получил ошибку следующего вида: На форумах советуют перезагружать IIS, SQL весь сервер и пр. но это не помогает. Мне помог блог следующего человека: http://hasrett.blogspot.ru/2012/04/e...ctions-to.html Оказывается, для того чтобы забороть ошибку, нужно остановить все службы CRM, которые работают с базой:
Но... Ошибка была бы не ошибка, если бы не было причины по которой обновление упало в прошлый раз. В моем случае я столкнулся со странной пугающей ошибкой: Цитата: Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона. Выполнение данной инструкции было прервано. Что в английской версии звучит как: Цитата: The conversion of a varchar data type to a datetime data type resulted in an out-of-range value Стало понятно, что проблема происходит из SQL инструкций при работе с данными, а именно в следствие идиотского американского формата отображения даты. Инструкция валится, так как в запросе путаются дни и месяцы, в результате чего мы получаем ошибку преобразования данных. Изначально я предложил что ошибка происходит, так как базовый язык глючной организации не совпадает с базовым языком развертывания. Не смотрите на меня так: это возможно, если в системе установлен языковой пакет. В этом случае при создании новой организации можно выбрать нужный базовый язык. Тем не менее, дальнейший поиск показал, что это не единственное несовпадение языков: http://www.denisstadler.com/dynamics...organizations/ Судя по всему, проблема может быть связана с языком по умолчанию для учетной записи (SQL Login) под которой производилась установка системы, или ее обновление. В цитированном посте приводится инструкция, которую следует выполнить чтобы все исправить, но не даются комментарии по ее использованию: Цитата: --Check the Language used by the CRM user EXEC sp_helplogins 'user' --See the language lists SELECT * FROM syslanguages --Update the SQL login configuration EXEC sp_defaultlanguage 'user', 'us_english' Вместо 'user' в первой инструкции нужно ввести домен\логин интересующего вас пользователя. Запрос следует выполнять против базы maser. Однако есть и другой способ. Запустите SQL Server Management Studio, подключитесь к нужному серверу и откройте вкладку Security: Откройте свойства нужного вам логина (он должен быть там, иначе не было бы прав на установку) и укажите нужный язык. В моем случае нужно было указать US English, так как это базовый язык развертывания: После этого обновление прошло успешно: Удачного обновления! Источник: http://axforum.info/forums/blog.php?b=389
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|