SQL 排序规则是针对每个实例还是针对每个数据库?

SQL 排序规则是针对每个实例还是针对每个数据库?

我有一个 SQL 实例,假设为 MSSQLSRV - 每个实例的排序规则是否相同,即给定实例中的每个数据库都具有相同的排序规则,还是每个数据库都设置了排序规则?即每个实例有多个排序规则。

答案1

每个数据库。实例级别排序规则定义了整个实例的默认排序规则,但是如果您想覆盖默认排序规则,则可以在数据库级别单独设置它。

编辑:
回复您的评论:

您可以通过查看 SSMS 中的数据库属性(右键单击数据库,获取属性,它位于常规页面上)或执行此 TSQL 语句来检查排序规则:

SELECT DATABASEPROPERTYEX('MyDatabase','Collation') AS DbCollation

(将 MyDatabase 替换为您要检查的数据库的名称)

答案2

如果您希望列出实例中每个数据库的排序规则,请尝试以下操作:

SELECT d.name as DbName, DATABASEPROPERTYEX(d.name,'Collation') AS DbCollation
FROM sys.databases d
WHERE d.database_id > 4

相关内容