AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.02.2010, 15:18   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Слишком большой размер ключа в байтах для некоторых уникальных индексов
По ходу ковыряния демо-базы AX 2009 понадобилось на копии базы воссоздать индексы на таблицах руками (по схеме демо-базы), а не за счет синхронизации. При этом обнаружилось, что при создании некоторых уникальных индексов СУБД ругается примерно так:
Цитата:
Achtung! Максимальная длина ключа составляет 900 байт. У индекса 'ТАКОГО-ТО' максимальная длина составляет <более 900> байт. Для некоторых комбинаций больших значений [полей] операция insert/update завершится неудачей.
Такая ругань идет как минимум на следующие индексы (под индексом приведена длина ключа по мнению СУБД, а также перечень и длина полей индекса в символах):
AifEndpointActionPolicy.AifEndpointExternalActionIdx
1088 = EndpointId (30) + ExternalActionOverride (255) + ActionId (255)
AifService.AifExternalNameIdx
1020 = Namespace (255) + ExternalName (255)
DEL_AifEndpointActionPolicy.AifEndpointExternalActionIdx
1088 = EndpointId (30) + ExternalActionOverride (255) + ActionId (255)
PBAReuseBOMRoute.PBASearchIdx
1788 = PBAId (20) + SearchString (870)
PBATableVariableVal.PBAValueIdx
1152 = PBAId (20) + PBAVar (40) + Value (512)
SRSModelFieldCache.LocalizedName
1200 = EntityModelId (200) + ParentFieldFolder (200) + LocalizedName (200)
SRSModelForeignKeyCache.RoleIndex
1200 = TableName (200) + IndexName (200) + FieldList (200)
XBRLTaxonomyTargetNamespace.IndexIdx
1048 = TaxonomyId (20) + Value (500)

Вот интересно, это только у меня такое вылезает? Отчего синхронизация молчит о подобных вещах? Кто-нить сталкивался с тем, что из-за таких индексов данные реально не вставляются/обновляются?

DAX 2009 SP1, ядро 5.0.1000.52, приложение 5.0.1001.176, Ms SQL Server 2008 SP1.
Старый 10.02.2010, 20:59   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Отчего синхронизация молчит о подобных вещах?
Это не ошибки, а предупреждения (т.е. DDL оператор завершается без ошибок) и система эти предупреждения игнорирует
Цитата:
Кто-нить сталкивался с тем, что из-за таких индексов данные реально не вставляются/обновляются?
Если внимательно присмотреться, видно, что достаточно тяжело придумать такие комбинации ключевых (проиндексированных) полей, чтобы выйти за пределы 900 байт. Вернее, придумать несложно, но работать с такими кодами записей (просматривать на экране, выбирать в лукапах), полагаю удовольствие ниже среднего. Так что на практике полагаю вменяемый внедренец с этим ограничением столкнуться не должен
__________________
-ТСЯ или -ТЬСЯ ?
Теги
ax2009, sql server, индекс, синхронизация баз

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Нездоровый размер индексов dj_Mage DAX: Администрирование 6 27.12.2006 15:15
Блокировка ключа индекса Sequel DAX: Программирование 4 06.07.2006 16:08
Как сохранять размер связанных форм? BlueRose DAX: Программирование 2 15.06.2006 17:06
Неудобство использования аналитик "Цвет" и "Размер" clerk DAX: Функционал 17 23.05.2005 13:08
Удаление индексов vs Rollback segments Антон Солдатов DAX: Администрирование 0 07.04.2003 13:06

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:13.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.