Показать сообщение отдельно
Старый 22.03.2010, 10:53   #16  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
У меня недавно были похожие ошибки. Решал следующим образом:
  1. Шел в Administration/Periodic/SQL administration, выбирал Table actions/Check/Synchronize, а потом в появившемся диалоге нажимал кнопку Export DDL.
  2. Экспортированный скрипт открывал в SQL Management Studio и смотрел, где ошибка.

В принципе, трассировкой запросов, как Wamr предложил, тоже можно поймать стейтмент, который ошибку вызывает. Но не всегда есть возможность её включить (например, если база рабочая база, и в ней сидит много пользователей уже).

P.S.: У меня ошибка появлялась из-за того, что программисты создавали новые таблицы, в которых были индексы, с помощью Duplicate и переименовывали их до синхронизации. Потом таблицу удаляли, и снова пытались создать с помощью Duplicate. В итоге получалось, что в SQLDICTIONARY таблицы оказывались под одним именем, а в базе - под другим. При удалении они, соответственно, удалялись только из SQLDICTIONARY, а их ID записывался как свободный. Но таблицы созданные при первом дублировании оставались в БД. Затем, когда таблицы дублировались второй раз, система пыталась создать их с таким же именем и ID как и раньше, но объекты с такими именами уже существовали. Соответственно, появлялась ошибка.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: pwp (1).