【发布时间】:2012-02-22 07:42:21
【问题描述】:
我正在使用 SSIS 运行一个项目,现在使用 CS(区分大小写)排序规则创建新数据库,但是所有查询、存储过程等都是以不区分大小写的方式编写的,所以现在 SQL Server 无法识别它们。我需要在查询中更改表名、列名...与它们在 SQL Server 中的完全相同。
是否可以拥有带有 CI 存储过程、查询等的 CS 数据库...?
【问题讨论】:
-
为什么不修复数据库排序规则...?
-
如果所有列都是最好的解决方案,我需要在某些列上使用 CS
-
仅在需要时将 CS 添加到列中。如果所有列都是 CS,那么修复您的查询,因为您不能方便地混合 CI 和 CS
-
关于@Impaler 的赏金:不,没有选项可以为系统对象和用户对象设置不同的排序规则。对象名称(如表)作为
sysname存储在sys对象中,这是nvarchar(128) NOT NULL的同义词。这些列继承了数据库的默认排序规则,如果您更改该排序规则,它们也会被更改 (documentation)。因此,任何更改都会影响 所有 列;用户和系统。
标签: sql sql-server database tsql sql-server-2008