我正在使用 SQL Server 数据库图表工具进行数据库设计。我创建了一个名为 dbo.Example 的表,并在定义任何列之前尝试保存。
得到一个错误,即 SQL 无法保存没有任何列的表,因为我想保存在完成此表之前完成的其他工作,所以我将其删除并成功保存。
然后我进行更多更改并保存图表。一切都很好。
直到我准备好正确定义我的 dbo.Example 表并获得
'Table 'dbo.Example' already exists' error.
该表不在从返回的表中
select name from sys.tables;
并且不会出现在 Database->Tables GUI 视图中。
我找不到需要清理和删除这张桌子的地方。
SQL Server 将有关数据库图表的元数据保存在哪里?
这是 Management Studio 中的一个错误。
我能够在 2008 R2 和 2012 工具上以三种方式重现它:
从这种行为来看,我猜它会在单个数据库图表的上下文之外保留每个数据库的表列表,并且当删除一个空表时,引用没有被正确清理。我相信解决方法是关闭该数据库的所有图表,然后重新打开。我认为您能够保存所做的更改而没有错误是幸运的!
如果您觉得这非常重要,我建议您在Connect上进行报告。IMO,它似乎不太可能被修复,因为它太小了,但你永远不知道。