如何将SQL Server 2005更改为区分大小写?

Jos*_*ons 7 sql-server

我讨厌数据库中的区分大小写,但我正在为使用它的客户开发.如何在我的SQL Server上启用此选项,因此我可以确定我在所有查询中都已正确使用该案例?

har*_*rpo 14

如果在表或列上声明它需要区分大小写,则实际上不需要更改整个数据库的排序规则.实际上,您可以根据需要将其实际附加到单个操作中.

SELECT name WHERE 'greg' = name COLLATE Latin1_GENERAL_CS_AS

我知道,你说你想要在整个数据库中应用它.但我提到这一点是因为在某些托管环境中,您无法控制在创建数据库时设置的此属性.

  • 但不要将LOWER()应用于列,否则将无法使用索引... (2认同)

Mat*_*att 9

怎么样:

ALTER DATABASE database_name COLLATE collation_name
Run Code Online (Sandbox Code Playgroud)

请参阅BOL以获取整理选项列表,并选择最适合您需求的区分大小写(即您的客户正在使用的那个).
显然,在尝试之前对数据库进行完整备份可能是个好主意.我从未尝试过使用与服务器默认排序规则不同的排序规则的数据库,因此我不知道任何"陷阱".但是如果你有好的备份并在将它部署到你的客户端之前在你的环境中测试它,我无法想象存在很多风险.