将排序规则应用于SQL Server数据库

时间:2012-12-11 21:03:48

标签: sql sql-server sql-server-2012 collation

我目前正在将校对应用于我的sql server数据库,这些数据库位于数据库服务器上--sql server 2012.

每个数据库都有不同的排序规则,因为数据从拉丁语到Cryillic和一个阿拉伯语数据库不等。

我有3个问题:

  1. 是否可以将多个排序规则应用于同一个sql server数据库?
  2. 不同排序规则的事实数据库是在同一个数据库服务器上,它们可能会在服务器排序和数据库之间发生冲突吗?
  3. 最后 - 是否有一个脚本可用于将排序规则应用于每个数据库,注意它们是否已创建并包含数据?

1 个答案:

答案 0 :(得分:2)

  

是否可以将多个排序规则应用于同一个sql server   数据库?

数据库排序规则只是该数据库中新列的默认值。您可以指定不同的排序规则,只要它适用于不同的列。您甚至可以在视图或临时SQL中指定排序规则。

  

不同排序规则的事实数据库位于同一数据库中   服务器,他们的整理之间可能存在冲突   服务器和数据库?

服务器排序规则只是新数据库的默认排序规则。通常,它也是mastertempdb使用的排序规则。这意味着对临时表的查询要求您明确指定排序规则。

  

最后 - 是否有一个脚本我可以用来为每个应用排序规则   数据库,注意它们是否已创建并包含数据?

您可以使用alter database命令:

ALTER DATABASE TestDb ALTER COLLATION French_CI_AI

请注意,所有现有列都将保留其排序规则。如上所述,数据库排序规则只是新列的默认值。