设置和更改SQL Server排序规则

时间:2012-03-22 07:56:50

标签: sql sql-server

我有一个问题,我试图在互联网上找到更多信息,但我仍然不确定。

如果我有一个带有以下默认排序规范示例“Modern_Spanish_CI_AS”的SQL Server实例,并且我还有一个具有不同排序规则示例“Latin1_General_CI_AS”的已恢复数据库。

SQL Server将使用哪种排序规则?默认情况下,Modern_Spanish ......或者它将使用数据库Latin1_General?

在下面的链接中解释了一些关于它的内容 Setting and Changing the Server Collation

谢谢!

2 个答案:

答案 0 :(得分:2)

它将使用Latin1_General_CI_AS排序规则,因为这是数据库本身的设置。

为了澄清,数据库中设置的任何内容都将覆盖服务器的“默认”排序规则。默认排序规则基本上仅在您创建全新数据库时使用。

更改服务器级别的默认排序规则对现有数据库没有影响,您必须单独更改每个排序规则,但这本身可能会导致您与您创建的任何其他数据库级别对象的级联问题,例如存储过程,约束,甚至是您从第三方应用程序对数据库执行的任何动态SQL。

答案 1 :(得分:2)

可以在各种级别设置SQL Server排序规则:服务器,数据库,列,扩展。如果未在较低级别设置排序规则,则会从上面的级别继承。例如。在创建数据库时,数据库排序规则将是服务器的排序规则,除非您为数据库明确设置排序规则。

许多校对可以很好地协同工作。偶尔会有困难,通常排序顺序的性质是出乎意料的。我不确定,但我希望您指定的2兼容。

所以是的,您的数据库(几乎可以肯定)将使用Latin1_General_CI_AS整理进行恢复,几乎可以肯定。有一个兼容的排序规则列表,谷歌应该能够帮助您找到。