Перемещение осколка с эластичной шкалой и порядком копирования скопированных таблиц

Я хотел бы переместить осколок из одного осколка в другой. Я использую библиотеки Azure Elastic Scale и предоставленный пример Split/Merge/Move.

При попытке переместить осколок я получаю сообщение об ошибке, потому что инструмент копирует (справочную) таблицу в другой осколок, но в неправильном порядке. Инструмент пытается скопировать Firmware таблица, которая имеет отношение FK к User Таблица. Тем не менее, это User таблица еще не скопирована, поэтому, когда она пытается выполнить INSERT команда, это терпит неудачу, потому что отношение FK не встречается.

Документация на сайте гласит следующее:

Ссылочная целостность. Служба разделения / слияния анализирует зависимости между таблицами и использует связи между внешним ключом и первичным ключом для поэтапного выполнения операций по перемещению справочных таблиц и сегментов. В общем, справочные таблицы сначала копируются в порядке зависимости, затем копируются шардлеты в порядке их зависимостей в каждом пакете. Это необходимо для того, чтобы ограничения FK-PK для целевого шарда учитывались при поступлении новых данных.

Есть ли способ управления заказом при обработке таблицы?

Может быть, путем изменения порядка их регистрации?

1 ответ

Можете ли вы еще раз проверить, зарегистрированы ли обе таблицы ("Прошивка" и "Пользователь") в качестве справочных таблиц в SchemaInfoCollection на карте сегментов? Правописание, заглавные и строчные...

Split / Merge использует информацию в SchemaInfoCollection, чтобы получить список справочных таблиц и затем проанализировать их зависимости. Таким образом, об этом сценарии нужно заботиться, если у нас нет ошибки.

Если у вас есть правильная информация на карте осколков, это будет ошибка, которую мы бы хотели рассмотреть. Дайте мне знать, если это так. Вы можете связаться со мной по адресу torsteng(at)microsoftDOTcom.

Спасибо Торстен

Другие вопросы по тегам