SQL Server更改排序规则的实现过程


  本文标签:SQL Server更改排序规则

  以下的文章主要向大家描述的是SQL Server更改排序规则的实现过程,以及在实现其实际操作过程中我们要用到的实际应用代码的描述,本文首先是以使用 ALTER TABLE 语句更改列的排序规则讲起的:

  1. CREATE TABLE MyTable (PrimaryKey int PRIMARY KEY,   
  2. CharCol varchar(10) COLLATE French_CI_AS NOT NULL ) GO ALTER TABLE MyTable ALTER   
  3. COLUMN CharCol varchar(10)COLLATE Latin1_General_CI_AS NOT NULL GO  

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

  

  计算列  。

  

  索引  。

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

  CHECK 约束  。

  FOREIGN KEY 约束  。

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

  

  

  1. 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 系统数据类型,以及基于这些系统数据类型的所有用户定义数据类型更改为使用新的默认排序规则  。

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

  

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

  

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

  除去所有用户数据库  。

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

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

  导入所有数据  。

  

  说明 也可以不更改 SQL Server 2000 实例的默认排序规则,而为创建的每个新数据库指定默认排序规则  。

  

  以上的相关内容就是对SQL Server更改排序规则的介绍,望你能有所收获  。