我在 SQL Server 2005 中创建了一个新数据库并从旧数据库执行生成的脚本。
因为我有一张桌子叫 MstCity
当我尝试执行以下表名大写的查询时 MSTCITY
SELECT City FROM MSTCITY WHERE City = 'Junagadh'
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
无效的对象名称“MSTCITY”
当我执行此SELECT语句时,它工作正常
SELECT City FROM MstCity WHERE City = 'Junagadh'
Run Code Online (Sandbox Code Playgroud)
在旧数据库中,这两个SELECT语句都可以正常工作。并且这两个数据库都只在 SQL Server 2005 中。
检查数据库上的排序规则。然后考虑(但不是轻率)它是否应该是 CI(不区分大小写)而不是 CS。
还要查看系统数据库。如果您已经构建了一个将数据库迁移到的系统,则可能需要进行系统重建才能使其正常工作。如果您的 tempdb 排序规则与旧框和新框不同,您可能很快就会发现自己出现排序规则错误。