SQL中sys.tables的别名

时间:2017-02-07 20:06:00

标签: sql .net sql-server

我使用写得不好的应用程序连接到使用区分大小写SQL_Latin1_General_CP850_BIN2排序规则的服务器。该应用程序出于某种原因尝试引用sys.Tables(注意大写字母T)而不是sys.tables导致它失败。

是否有任何半合理的方法来创建仅指向sys.tables的sys.Tables别名?还是有另一种方法来解决这个其他而不是修复应用程序?

环境

  • MS SQL 2016 SP1(13.0.4199.0)
  • Windows 2012 R2
  • App通过.Net连接器/框架连接

1 个答案:

答案 0 :(得分:-1)

未在连接级别设置SQL Server排序规则。它设置在服务器/数据库级别。

我会先检查你的服务器/数据库......

SELECT CONVERT (varchar, SERVERPROPERTY('collation')); 

SELECT name, collation_name FROM sys.databases;  

查看整理信息: https://msdn.microsoft.com/en-us/library/hh230914.aspx

如有必要,可以改变校对(当然是在测试之后)。

设置或更改排序规则: https://msdn.microsoft.com/en-CA/library/ms175835.aspx