我有一个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个结果。
因此,其中一个表仍然没有列,并且从那里开始走下坡路。当我尝试使用此数据库时,错误发生在整个地方。我需要能够以某种方式从元数据中删除该表吗?
答案 0 :(得分:0)
我的一位同事无法与管理工作室打开数据库,但至少我可以这样做。
一旦打开它,删除了2个表中的一个,进行了缩小/修复,看起来没问题。
必须验证数据是100%确定的,但这看起来像是一个有效的修复。