Цитата:
Сообщение от
PavelX
По всей видимости необходимо чтобы поле по которому производится партицирование (в моем случае InventTrans.CreatedDateTime) входило в первичный ключ этой таблицы InventTrans. Как только я его добавил - синхронизация выполнилась без ошибок.
Скорее всего не в первичный ключ, а в кластерный должно входить поле, по которому идёт секционирование.
Но у меня другой вопрос - у вас хорошо проходит реиндексация InventTrans после разбиения её по секциям ?
Я обнаружил что аксапта во время реиндексации в секционированной таблице пересоздаёт все индексы (кроме кластерного конечно) и, если раньше они хранились в одной файловой группе, то после реиндексации размазываются по нескольким файловым группам. Что приводит к тому что просто открыть таблицу в обозревателе таблиц становится практически невозможно. Я проводил тестирование на SysDatabaseLog, секционированной по CreatedDateTime. После реиндексации индекса TABLERECIDIDX таблица в обозревателе стала открываться по 30-40 минут. До реиндексации это происходило мгновенно.
Приходится в базе руками удалять индекс TABLERECIDIDX и создавать его снова, только в скрипте явно указывать в какой файловой группе он должен сидеть. При этом полностью согласен, что синхронизация таблицы проходит без ошибок. Именно синхронизация, но не реиндексация.