首页 > 解决方案 > 表名中字母大小写导致的“无效对象名”错误

问题描述

这是一个非常奇怪的问题。我有一个完全命名为“UncSetup”的表。该数据库附加到 SQL Server 2012 express 实例并在 SSMS 中访问。

我可以执行这个查询:

SELECT * FROM UNcSEtUp

但不是这个:

SELECT *FROM UnCSetup

给出“无效的对象名称”错误。

证明: 在此处输入图像描述

这与 SSMS 中的 IntelliSense 无关。执行结果错误。

我有许多其他数据库具有完全相同的表模式,其中表名的所有变体都可以正确执行。所以我的猜测是这个数据库以某种方式损坏了。我能做些什么来修复这个数据库?

标签: sql-serverssms

解决方案


@Damien_The_Unbeliever 和 @Jeroen Mostert 在评论中回答了这个问题。数据库的排序规则是 Hungarian_CI_AS,其中“Cs”是一个字母而不是两个字母。https://en.wikipedia.org/wiki/Hungarian_alphabet


推荐阅读