排序规则如何影响SQL Server的存储空间以及它如何影响Unicode和非unicode数据类型?
整理会影响Unicode存储吗?或者只管理数据库中的排序规则?
当我使用非unicode数据类型时,哪些撤销与整理有关?
如果限制适用,当我尝试存储不在非unicode数据类型的数据库归类中的字符时会发生什么?
我的理解是Unicode数据类型总是可以存储整套Unicode数据,而非unicode数据类型存储功能取决于代码页(由排序规则定义),并且只能代表一些常见的该校对中的字符。
显然,Unicode数据类型中的每个字符至少占用2个字节,而非unicode数据类型占用每个字符1个字节(或者这也随着整理而变化?)
请直接告诉我,这是如何工作的?
答案 0 :(得分:6)
SQL Server在UCS2中存储Unicode数据(NTEXT,NVARCHAR),每个字符总是产生2个字节。
归类仅影响排序(和套管)。
在非Unicode数据类型(TEXT,VARCHAR)中,每个字符只使用一个字节,并且只能存储排序规则代码页的字符(正如您所说)。见MSDN article on collations