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

Я добавил поле в эту таблицу: STG_INVOICE_SUP_VW

Но потом мне не удалось синхронизировать таблицу, поэтому я удалил ее. Теперь, если я пытаюсь синхронизировать любую таблицу, она выдает следующую ошибку:

Cannot execute a data definition language command on (). The SQL database has issued an error.

SQL error description: [Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot drop the index 'STG_INVOICE_SUP_VW._dta_index_STG_INVOICE_SUP_VW_25_692157136__K7_1_2_3_4_5_6_8_9_10_11_12_13_14_15_16_17_1', because it does not exist or you do not have permission.

SQL statement: DROP INDEX STG_INVOICE_SUP_VW._dta_index_STG_INVOICE_SUP_VW_25_692157136__K7_1_2_3_4_5_6_8_9_10_11_12_13_14_15_16_17_1

Problems during SQL data dictionary synchronization. The operation failed.

Synchronize failed on 1 table(s)

enter image description here

1
0
2 066
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте создать индекс STG_INVOICE_SUP_VW._dta_index_STG_INVOICE_SUP_VW_25_692157136__K7_1_2_3_4_5_6_8_9_10_11_12_13_14_15_16_17_1 непосредственно в SQL Server, а затем повторно запустите синхронизацию БД в AX.

Некоторые из вариантов, которые вы можете попробовать, - это перезапуск AOS, повторная индексация из формы администрирования SQL или удаление таблицы из резервной копии, а затем синхронизация базы данных

Pradeep Muttikulangara Vasu 10.08.2018 23:11

Я не создавал этот указатель. Это тоже не обязательно. Удаление решило проблему. Проверьте мой ответ.

Mohammad Yusuf 11.08.2018 10:05

Хорошо. Было одно или другое. Либо не было индекса, который AX пытался отбросить, поэтому вам нужно было сначала создать его в SQL Server самостоятельно, либо был индекс, который AX не мог удалить, поэтому вам пришлось сделать это из SQL Server самостоятельно. Суть в том, что такие проблемы с синхронизацией БД обычно следует рассматривать со стороны SQL Server.

10p 11.08.2018 11:16
Ответ принят как подходящий

Редактировать:

Вся проблема была связана с дополнительным индексом, созданным со стороны SQL. Если вы создаете индекс для таблиц AX со стороны SQL, то либо вы не сможете синхронизировать таблицу, либо созданный вами индекс будет удален при синхронизации (как предлагают некоторые пользователи) .
Вы должны создавать индексы из дерева объектов приложения.

Я удалил индекс из SSMS, а затем синхронизация работала отлично.

Это также решило еще одну проблему. Добавочный CIL выдавал ошибку ниже:

Cannot create a record in SysXppAssembly (SysXppAssembly). The record already exists.

Для дополнительной проблемы с CIL я уже выполнил указанные здесь шаги, но не исправил:

  1. Stop the AOS Navigate to the XppIL folder in your AOS server “C:\Program Files\Microsoft Dynamics AX\60\Server\YourAXInstanceName\bin\XppIL”
  2. Backup the files from the XppIL folder.
  3. Delete the files from the XppIL folder. Note: files only not sub folders.
  4. Restart the AOS.
  5. The XppIL folder files will be created after the AOS restart

По этой ссылке: Сообщество.Динамика

После устранения проблемы с синхронизацией таблицы инкрементный CIL работал без проблем.

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