特定于语言的SQL Server排序规则

问题描述

| 我有一个生产sql Server 2008 R2服务器, 有几个数据库,每个数据库分别针对不同国家的客户。 我一直在使用相同的认排序规则,但后来添加了保加利亚客户,并且他们使用西里尔文来添加客户。 第一个问题是我无法确定应该使用哪种排序规则。我认为Cyrillic_General_CI_AS是正确的选择。换句话说,我认为保加利亚语不区分大小写和重音。有时他们使用英语,但我认为这不是问题。 我的另一个问题是,如果服务器使用Polish_CI_AS,并且因此tempdb之类的系统数据库也使用它,则此排序规则是否可以正常使用此排序规则,也许对于这种混合环境,使用一些不太明确的排序规则会更好? 在工作数据库上更改排序规则是否安全?     

解决方法

我只能尝试回答您的部分问题。根据众所周知的维基百科,是的,保加利亚语使用西里尔字母(这可能不是您的问题)。但是,你的陈述是   保加利亚语不区分大小写,   口音敏感 对我来说没有意义。诸如英语之类的语言既不区分大小写,也不区分重音。这只是您希望SQL如何在内部进行字符串比较的一种设计选择(默认情况下可以进行内部比较(如果需要,可以通过强制排序规则重写)。 简而言之,如果您对所有其他数据库都使用\“ _ CI_AS \”,我会同意Cyrillic_General_CI_AS。 至于您的其他问题,也许其他人可以提供帮助。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...