默认情况下,SQL Server 里面是不区分大小写的: E:\>sqlcmd -S "localhost\SQLEXPRESS" 1> use test 2> go 已将数据库上下文更改为 'Test'。 -- 建立一个 tab 的测试表, 表名称为全部小写 1> CREATE TABLE [tab] ( id int ) 2> go 1> select * from tab 2> go id ----------- (0 行受影响) 1> select * from Tab 2> go id ----------- (0 行受影响) 上面可以看出,默认情况下, select * from tab 与 select * from Tab 是一样的。 因为不区分大小写 下面设置 test 数据库,让其区分大小写 alter database test COLLATE Chinese_PRC_CS_AS 1> alter database test COLLATE Chinese_PRC_CS_AS 2> go 1> select * from tab 2> go id ----------- (0 行受影响) 1> select * from Tab 2> go 消息 208,级别 16,状态 1,服务器 WANGZHIQING\SQLEXPRESS,第 1 行 对象名 'Tab' 无效。 设置数据库区分大小写以后,可以看到 select * from Tab 的时候, SQL Server 无法识别 "Tab" 这个表了 因为区分大小写了。 下面恢复 test 数据库的设置,让其不区分大小写 alter database test COLLATE Chinese_PRC_CI_AS 1> select * from tab 2> go id ----------- (0 行受影响) 1> select * from Tab 2> go id ----------- (0 行受影响) 恩,一切又恢复正常了。