2013-12-08 2 views
0

У меня есть компактная база данных SQL Server, и у него есть 2 таблицы, которые имеют такое же имя,Как удалить дубликаты таблицы в SQL базе данных сервера CE

dispatch_temp_2799790924 

Так что это временная таблица, но какое-то коррупции означает, что таблица там дважды. Как я могу это очистить?

Вот что происходит. Когда я спрашиваю об этом,

select * from __sysobjects 
where [1] like '%dispatch_temp%' 
order by [1] 

В нем говорится, что имеется 86 строк. Также когда я спрашиваю об этом,

select * from INFORMATION_SCHEMA.tables where table_name like '%dispatch_temp%' 

Я получаю 2 строки.

Таким образом, после запуска этого (я могу работать только один раз),

drop table dispatch_temp_2799790924 

А затем запустить этот запрос,

select * from __sysobjects 
where [1] like '%dispatch_temp%' 
order by [1] 

Я получаю 0 результатов.

И это,

select * from INFORMATION_SCHEMA.tables where table_name like '%dispatch_temp%' 

Возвращает 1 результат.

Таким образом, один из таблиц все еще существует без столбцов, и оттуда все идет вниз. Ошибки происходят повсеместно, когда я пытаюсь использовать эту базу данных. Мне нужно как-то удалить эту таблицу из метаданных?

+0

Хорошо, я додумаюсь, почему dispatch_temp_279979024 похож на% mt_dispatch_temp% –

+0

Это опечатка. dispatch_temp это. – peter

ответ

0

Мой коллега не смог открыть базу данных с помощью студии управления, но по крайней мере я мог это сделать.

Как только я открыл его, удалил один из двух столов, сделал усадку/ремонт, он выглядел нормально.

Обязательно проверьте достоверность данных на 100%, но это похоже на действительное исправление.

Смежные вопросы