选择正确的SQL Server排序规则进行存储

Joh*_*ren 4 sql-server collation

整理如何影响SQL Server的存储空间以及它如何影响Unicode和非unicode数据类型?

  • 整理会影响Unicode存储吗?或者只管理数据库中的排序规则?

  • 当我使用非unicode数据类型时,哪些restictions与整理有关?

  • 如果限制适用,当我尝试存储不在非unicode数据类型的数据库排序规则中的字符时会发生什么?

我的理解是Unicode数据类型总是可以存储完整的Unicode数据集,而非unicode数据类型存储功能取决于代码页(由排序规则定义),并且只能代表其中的许多常见字符排序规则.

显然,Unicode数据类型中的每个字符至少占用2个字节,而非unicode数据类型占用每个字符1个字节(或者这也随着整理而变化?)

让我直接在这里,这是如何工作的?

dev*_*vio 6

SQL Server在UCS2中存储Unicode数据(NTEXT,NVARCHAR),每个字符总是产生2个字节.

整理仅影响排序(和套管).

在非Unicode数据类型(TEXT,VARCHAR)中,每个字符只使用一个字节,并且只能存储排序规则代码页的字符(正如您所说).有关排序规则,请参阅此MSDN文章