我目前正在将排序规则应用于我的 sql server 数据库,这些数据库位于数据库服务器 - sql server 2012 上。
每个数据库都有不同的排序规则,因为数据从拉丁语到 Cryillic 和一个阿拉伯语数据库不等。
我有3个问题:
- 是否可以将多个排序规则应用于同一个 sql server 数据库?
- 不同排序规则的事实数据库在同一个数据库服务器上,服务器排序规则和数据库之间是否存在冲突的可能性?
- 最后 - 是否有一个脚本可以用来对每个数据库应用排序规则,注意它们是创建并包含数据的?
我目前正在将排序规则应用于我的 sql server 数据库,这些数据库位于数据库服务器 - sql server 2012 上。
每个数据库都有不同的排序规则,因为数据从拉丁语到 Cryillic 和一个阿拉伯语数据库不等。
我有3个问题:
是否可以将多个排序规则应用于同一个 sql server 数据库?
数据库排序规则只是该数据库中新列的默认值。您可以根据自己的喜好指定不同的排序规则,只要它用于不同的列即可。您甚至可以在视图或 ad-hoc SQL 中指定排序规则。
不同排序规则的事实数据库在同一个数据库服务器上,服务器排序规则和数据库之间是否存在冲突的可能性?
服务器排序规则只是新数据库的默认排序规则。通常,它也是masterand使用的排序规则tempdb。这意味着对临时表的查询需要您明确指定排序规则。
最后 - 是否有一个脚本可以用来对每个数据库应用排序规则,注意它们是创建并包含数据的?
您可以使用alter database命令:
ALTER DATABASE TestDb ALTER COLLATION French_CI_AI
请注意,所有现有列都将保留其排序规则。如前所述,数据库排序规则只是新列的默认值。