sql - 将排序规则应用于 sql server 数据库

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

我目前正在对我的 sql server 数据库应用排序规则,这些数据库位于数据库服务器 - sql server 2012 上。

每个数据库都会有不同的排序规则,因为数据从拉丁语到西里尔语和一个阿拉伯语数据库各不相同。

我有 3 个问题:

  1. 是否可以对同一个 SQL Server 数据库应用多个排序规则?
  2. 事实上,不同排序规则的数据库位于同一数据库服务器上,服务器和数据库的排序规则之间是否可能存在冲突?
  3. 最后 - 是否有一个脚本可以用来对每个数据库应用排序规则,并注明它们已创建并包含数据?

最佳答案

Is it possible to apply a number of collations to the same sql server database?

数据库排序规则只是该数据库中新列的默认排序规则。您可以根据需要指定不同的排序规则,只要它针对不同的列即可。您甚至可以在 View 或即席 SQL 中指定排序规则。

The fact databases of different collations are on the same database server, could their potential for conflict between the collation of the server and the databases?

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

Finally - is there a script I can use to apply a collation to each of the databases, noting they are created and contain data?

您可以使用alter database命令:

ALTER DATABASE TestDb ALTER COLLATION French_CI_AI

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

关于sql - 将排序规则应用于 sql server 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13828471/

相关文章:

sql - 您如何知道 SQL 数据库何时需要更多规范化?

sql - Join 和 Pivot 语句 SQL Server

sql-server - 是否可以为此规则设置数据库约束?

sql-server - 外部列与输出列之间有什么区别?

t-sql - TSQL除法时小数精度问题

sql-server - 无法将显式值插入时间戳列

php - 使用不同字段查找多个用户名时出现 MySQL 多重连接问题

sql - Datediff 函数仅在 WHERE 子句中导致溢出?

c# - 如何从另一个行列表中选择包含部分值的行?

php - 透视sql server多个表和列