У меня недавно были похожие ошибки. Решал следующим образом:
- Шел в Administration/Periodic/SQL administration, выбирал Table actions/Check/Synchronize, а потом в появившемся диалоге нажимал кнопку Export DDL.
- Экспортированный скрипт открывал в SQL Management Studio и смотрел, где ошибка.
В принципе, трассировкой запросов, как Wamr предложил, тоже можно поймать стейтмент, который ошибку вызывает. Но не всегда есть возможность её включить (например, если база рабочая база, и в ней сидит много пользователей уже).
P.S.: У меня ошибка появлялась из-за того, что программисты создавали новые таблицы, в которых были индексы, с помощью Duplicate и переименовывали их до синхронизации. Потом таблицу удаляли, и снова пытались создать с помощью Duplicate. В итоге получалось, что в SQLDICTIONARY таблицы оказывались под одним именем, а в базе - под другим. При удалении они, соответственно, удалялись только из SQLDICTIONARY, а их ID записывался как свободный. Но таблицы созданные при первом дублировании оставались в БД. Затем, когда таблицы дублировались второй раз, система пыталась создать их с таким же именем и ID как и раньше, но объекты с такими именами уже существовали. Соответственно, появлялась ошибка.