如何使用 T-SQL 更改 SQL Server 数据库的排序规则

发布于

这是一篇快速文章,演示如何使用 Transact-SQL 更改 SQL Server 中数据库的排序规则。

以下是基本代码:

USE master;
GO

ALTER DATABASE Solutions
COLLATE French_CI_AS ;
GO

这首先更改了 master 数据库,然后我们使用该语句将解决方案数据库的排序规则更改为French_CI_AS排序规则。ALTER DATABASE

检查排序规则

以下是检查数据库排序规则的方法:

SELECT DATABASEPROPERTYEX(‘Solutions’,‘collation’);

这将返回一行,其中包含一列,告诉您数据库的排序规则是什么。

您可以在更改排序规则之前运行它以检查排序规则,也可以在之后运行它以确保排序规则完全符合您的要求。

这是另一种方法:

SELECT collation_name FROM sys.databases WHERE name = ‘Solutions’;

可以省略最后一行以返回所有数据库的排序规则。

服务器默认排序规则

下面介绍如何返回服务器的默认排序规则:

EXECUTE sp_helpsort;

此存储过程返回默认排序规则,以及 SQL Server 实例的排序顺序和字符集。

下面是此存储过程在我的 SQL Server 2017 版本上返回的内容:

Latin1-General, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive for Unicode Data, SQL Server Sort Order 52 on Code Page 1252 for non-Unicode Data

检查可用的排序规则

可以运行以下语句以返回您的 SQL Server 版本支持的排序规则列表:

SELECT name, description FROM sys.fn_helpcollations();