SQL Server 2008案例敏感性问题

时间:2010-11-12 19:05:01

标签: sql-server

当我用小写字母键入表名时,我的SQL Server查询分析器会引发错误。

我的服务器和数据库归类是SQL_Latin1_General_CP1254_CI_AS

尽管如此,Select * from table会引发错误,而Select * From TABLE不会引发任何错误。

我哪里错了?如何使案例不敏感?我使用SQL Server 2008

2 个答案:

答案 0 :(得分:3)

尝试“从[table] 中选择*”。这是一个愚蠢的问题,但桌子的名称是表格吗?

答案 1 :(得分:0)

您的服务器具有不区分大小写的排序规则,但每个单独的数据库可能都有自己的排序规则。碰巧,此特定数据库具有区分大小写的排序规则。如果未明确指定(请参阅CREATE DATABASE ... COLLATE ...),数据库将继承最初在上创建的服务器的排序规则。可能这个数据库是在具有区分大小写的排序规则的服务器上创建的,然后在服务器上附加/恢复。

对于每个数据库,可以在sys.databases

中看到当前的数据库排序规则
select collation_name
from sys.databases
where database_id = db_id('...');