SQL Server 默认安装的字符集(排序规则),如何更改?

 

更改排序规则

可使用   ALTER   TABLE   语句更改列的排序规则:

 

CREATE   TABLE   MyTable

    (PrimaryKey       int   PRIMARY   KEY,

      CharCol            varchar(10)   COLLATE   French_CI_AS   NOT   NULL

    )

GO

ALTER   TABLE   MyTable   ALTER   COLUMN   CharCol

                        varchar(10)COLLATE   Latin1_General_CI_AS   NOT   NULL

GO

 

不能更改正由以下对象引用的列的排序规则:  

计算列。 www.2cto.com

索引。

自动生成或由   CREATE   STATISTICS   语句生成的分发统计。

CHECK   约束。

FOREIGN   KEY   约束。

 

 

还可在   ALTER   DATABASE   上使用   COLLATE   子句来更改数据库的默认排序规则:

ALTER   DATABASE   MyDatabase   COLLATE   French_CI_AS

 

更改数据库的默认排序规则不会更改任何现有用户定义表中的列排序规则。可使用   ALTER   TABLE   更改列的排序规则。在   ALTER   DATABASE   语句上使用   COLLATE   CLAUSE   可以:更改数据库的默认排序规则。新的默认排序规则适用于随后创建在数据库中的所有列、用户定义数据类型、变量和参数。在数据库中定义的对象上解析   SQL   语句中指定的对象标识符时,也使用新的默认排序规则。

将系统表中的任何   char、varchar、text、nchar、nvarchar   或   ntext   列更改为使用新的排序规则。

将存储过程和用户定义函数的所有现有的   char、varchar、text、nchar、nvarchar   或   ntext   参数和标量返回值更改为使用新的排序规则。

将   char、varchar、text、nchar、nvarchar   或   ntext   系统数据类型,以及基于这些系统数据类型的所有用户定义数据类型更改为使用新的默认排序规则。  

 

为列或数据库以外的任何其它对象指派了排序规则后,将不能更改排序规则,除非除去并重新创建对象。这一操作将十分复杂。若要更改   Microsoft®   SQL   Server™   2000   实例的默认排序规则,必须:  

确保具有重新创建用户数据库及数据库中的所有对象所需的全部信息或脚本。

使用工具(如大容量复制)导出所有数据。

除去所有用户数据库。

重建   master   数据库并指定新的排序规则。

创建所有数据库及数据库中的所有对象。

导入所有数据。