Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将排序规则应用于sql server数据库_Sql_Sql Server_Sql Server 2012_Collation - Fatal编程技术网

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

将排序规则应用于sql server数据库,sql,sql-server,sql-server-2012,collation,Sql,Sql Server,Sql Server 2012,Collation,我目前正在将排序规则应用于我的sql server数据库,这些数据库位于数据库服务器sql server 2012上 每个数据库都将有不同的排序规则,因为数据从拉丁语到希腊语,再到一个阿拉伯语数据库 我有3个问题: 是否可以对同一sql server数据库应用多个排序规则 事实上,不同排序规则的数据库位于同一数据库服务器上,它们是否可能在服务器排序规则和数据库排序规则之间发生冲突 最后—是否有一个脚本可以用于对每个数据库应用排序规则,并注意它们是创建的并包含数据 是否可以对同一sql serve

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

每个数据库都将有不同的排序规则,因为数据从拉丁语到希腊语,再到一个阿拉伯语数据库

我有3个问题:

  • 是否可以对同一sql server数据库应用多个排序规则
  • 事实上,不同排序规则的数据库位于同一数据库服务器上,它们是否可能在服务器排序规则和数据库排序规则之间发生冲突
  • 最后—是否有一个脚本可以用于对每个数据库应用排序规则,并注意它们是创建的并包含数据
  • 是否可以对同一sql server应用多个排序规则 数据库

    数据库排序规则只是该数据库中新列的默认排序规则。您可以随意指定不同的排序规则,只要是针对不同的列。您甚至可以在视图或特殊SQL中指定排序规则

    不同排序规则的事实数据库位于同一数据库上 服务器之间可能会发生冲突的排序规则 服务器和数据库

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

    最后,是否有一个脚本可以用于对每个脚本应用排序规则 数据库是否已创建并包含数据

    您可以使用以下命令:


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

    非常感谢您提供的信息-我有两个后续问题。1.如何更改现有列的排序规则?2.如果我想让列存储来自不同排序规则的数据,这可能吗?此设置可能有问题-例如,西里尔语和拉丁语数据在同一列中。1<代码>改变表格。。。更改列…works,2。排序只会影响排序和比较。存储可以很好地工作(只要您使用Unicode列,即
    nvarchar
    而不是
    varchar
    ),非常好的东西,感谢您提供这些信息-有没有办法生成脚本来更改整个数据库的排序规则?
    ALTER DATABASE TestDb ALTER COLLATION French_CI_AI