设置和更改数据库排序规则

创建新数据库时,可以使用下列内容之一指定排序规则:

  • CREATE DATABASE 语句的 COLLATE 子句。

  • SQL Server Management Studio.

  • SQL Server 管理对象 (SMO) 中的 Database.Collation 属性。

如果未指定排序规则,则使用服务器排序规则。

注意注意

Windows 的仅 Unicode 排序规则只能与 COLLATE 子句一起使用,将排序规则应用于列级和表达式级数据的 nchar、nvarchar 和 ntext 数据类型,而不能与 COLLATE 子句一起使用来更改数据库或服务器实例的排序规则。

可以使用 ALTER DATABASE 语句的 COLLATE 子句来更改在用户数据库中创建的任何新对象的排序规则。使用此语句不能更改任何现有用户定义的表中列的排序规则。使用 ALTER TABLE 的 COLLATE 子句可以更改这些列的排序规则。

更改数据库排序规则时,需要更改下列内容:

  • 数据库的默认排序规则,这一新的默认排序规则将应用于数据库中后续创建的所有列、用户定义的数据类型、变量和参数。根据数据库中定义的对象解析 SQL 语句中指定的对象标识符时,也使用新的默认排序规则。

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

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

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