如何删除SQL Server CE数据库中的重复表

时间:2013-12-08 21:32:47

标签: sql sql-server-ce

我有一个SQL Server Compact数据库,它有两个具有相同名称的表,

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个结果。

因此,其中一个表仍然没有列,并且从那里开始走下坡路。当我尝试使用此数据库时,错误发生在整个地方。我需要能够以某种方式从元数据中删除该表吗?

1 个答案:

答案 0 :(得分:0)

我的一位同事无法与管理工作室打开数据库,但至少我可以这样做。

一旦打开它,删除了2个表中的一个,进行了缩小/修复,看起来没问题。

必须验证数据是100%确定的,但这看起来像是一个有效的修复。