安装程序中的排序规则设置

更新日期: 2007 年 9 月 15 日

排序规则设置,包含字符集、排序顺序和其他区域特定的设置,是 Microsoft SQL Server 数据库结构和功能的基础。 在您的单位内,应开发排序规则设置的标准,并在安装 SQL Server 时应用这些设置。 如果服务器之间的排序规则设置不一致,许多服务器对服务器的活动就可能失败或生成不一致的结果。 选择 Microsoft Windows 区域设置以匹配其他 SQL Server 2005 实例中的排序规则设置;或者选择**“SQL 排序规则”**以匹配 SQL Server 早期版本中的排序顺序设置。

SQL Server 2005 支持在 SQL Server 2005 实例的以下级别设置排序规则:

  • 服务器级
  • 数据库级
  • 列级
  • 表达式级

有关排序规则级别的详细信息,请参阅排序规则术语。 有关重新生成系统数据库以指定新的系统排序规则的详细信息,请参阅如何从命令提示符安装 SQL Server 2005

Windows 系统区域设置

仅当 SQL Server 的安装必须与另一个 SQL Server 实例使用的排序规则设置相匹配时,或者当排序规则设置必须与另一台计算机的 Windows 系统区域设置相匹配时,才应更改 Windows 排序规则的默认设置。

排序规则指示符

从**“排序规则指示符”**列表中选择特定的 Windows 排序规则的名称。 例如:

  • 美国英语字符集(代码页 1252)使用 Latin1_General
  • 对于使用与美国英语(代码页 1252)相同字符集的所有西班牙语变体使用 Modern_Spanish
  • 使用阿拉伯语字符集(代码页 1256)的所有阿拉伯语变体使用 Arabic

排序次序

选择用于所选排序规则指示符的排序顺序选项。 二进制是最快的排序顺序,并且区分大小写,但是可能会产生意外的排序顺序。 如果选择了**“二进制”,则“区分大小写”“区分重音”“区分假名”“区分全半角”**选项将不可用。 有关详细信息,请参阅 Windows 排序规则排序样式

二进制排序规则

二进制排序规则基于每个字符的位模式来排序和比较 SQL Server 中的数据。 SQL Server 中的每个二进制排序规则都映射到特定的语言区域设置和 ANSI 代码页,且每个都执行区分大小写和区分重音的数据排序。 二进制排序规则提供最快的数据排序。 有关详细信息,请参阅 Windows 排序规则排序样式使用二进制排序规则

SQL 排序规则

**“SQL 排序规则”**选项用于确保与旧版本的 SQL Server 兼容。 选择此选项可以匹配 SQL Server 2000、SQL Server 7.0 或更早版本的设置。 有关详细信息,请参阅使用 SQL 排序规则

新排序规则版本

对早期排序规则行为做出了下列排序规则改进:

  • 对远东地区排序规则提供对增补字符比较的支持
  • 增加了新 Indic_General_90_CI_AS(仅 Unicode)排序规则版本,以支持对排序行为的更改
    ms143508.note(zh-cn,SQL.90).gif重要提示:
    这些版本更新都显著影响排序和比较行为。 在这些排序规则升级到 Microsoft SQL Server 2005 的过程中,不会强制迁移到新版本。 如果用户迁移到新排序规则以便支持补充字符,则所有数据库和 SQL Server 对象都必须重新索引。 由于重新索引的过程可能很耗时,所以应考虑增补字符支持的成本收益。 当客户选择不迁移到新排序规则时,SQL Server 2000 中的排序规则在 SQL Server 2005 中将受到支持。

已为此 SQL Server 2005 版本更新以下排序规则,以使用 Windows Server 2003 码位排序行为。

旧排序规则名称 新排序规则名称

日语

Japanese_901

中文

Chinese_PRC_90

Chinese_PRC_Stroke

Chinese_PRC_Stroke_90

Chinese_Taiwan_Bopomofo

Chinese_Taiwan_Bopomofo_90

Chinese_Taiwan_Stroke

Chinese_Taiwan_Stroke_90

朝鲜语

Korean_90

印地语(此版本中不推荐使用)

Indic_General_90_CI_AS(仅 Unicode)

1Japanese_Unicode 是用于向后兼容 SQL Server 7.0 的排序规则。 有关详细信息,请参阅 https://support.microsoft.com/kb/302747。 使用 Japanese 排序规则以匹配 SQL Server 2000 的排序规则设置。 如果不需要与以前的 SQL Server 版本的排序规则设置进行匹配,则使用 SQL Server 2005 中的新的 Japanese 排序规则 Japanese_90。

SQL Server 安装程序中的默认排序规则

在控制面板中,找到**“区域选项”(Windows 2000) 或“区域和语言选项”**(Windows XP) 中的 Microsoft Windows 区域设置名称,然后使用下表找到相应的排序规则指示符和代码页,以匹配下面 SQL Server 2005 排序规则表中现有 Windows 区域设置的排序规则设置。

Windows 系统区域设置 LCID(区域设置 ID) 默认 SQL 排序规则 代码页

南非荷兰语

0x436

Latin1_General_CI_AS

1252

阿尔巴尼亚语

0x41c

Albanian_CI_AS

1250

阿拉伯语(阿尔及利亚)

0x1401

Arabic_CI_AS

1256

阿拉伯语(巴林群岛)

0x3c01

Arabic_CI_AS

1256

阿拉伯语(埃及)

0xc01

Arabic_CI_AS

1256

阿拉伯语(伊拉克)

0x801

Arabic_CI_AS

1256

阿拉伯语(约旦)

0x2c01

Arabic_CI_AS

1256

阿拉伯语(科威特)

0x3401

Arabic_CI_AS

1256

阿拉伯语(黎巴嫩)

0x3001

Arabic_CI_AS

1256

阿拉伯语(利比亚)

0x1001

Arabic_CI_AS

1256

阿拉伯语(摩洛哥)

0x1801

Arabic_CI_AS

1256

阿拉伯语(阿曼)

0x2001

Arabic_CI_AS

1256

阿拉伯语(卡塔尔)

0x4001

Arabic_CI_AS

1256

阿拉伯语(沙特阿拉伯)

0x401

Arabic_CI_AS

1256

阿拉伯语(叙利亚)

0x2801

Arabic_CI_AS

1256

阿拉伯语(突尼斯)

0x1c01

Arabic_CI_AS

1256

阿拉伯语(阿拉伯联合酋长国)

0x3801

Arabic_CI_AS

1256

阿拉伯语(也门)

0x2401

Arabic_CI_AS

1256

亚美尼亚语(亚美尼亚共和国)

0x42b

Latin1_General_CI_AS

Unicode

阿泽里语-西里尔语(阿塞拜疆)1

0x82c

Azeri_Cyrillic_90_CI_AS

1251

阿泽里语-拉丁语(阿塞拜疆)1

0x42c

Azeri_Latin_90_CI_AS

1254

巴斯克语

0x42d

Latin1_General_CI_AS

1252

白俄罗斯语

0x423

Cyrillic_General_CI_AS

1251

保加利亚语

0x402

Cyrillic_General_CI_AS

1251

加泰罗尼亚语

0x403

Latin1_General_CI_AS

1252

中文(香港特别行政区)1

0xc04

Chinese_Hong_Kong_Stroke_90_CI_AS

950

中文(澳门特别行政区)2

0x1404

Chinese_PRC_90_CI_AS

950

中文(中华人民共和国)2

0x804

Chinese_PRC_CI_AS

936

中文(中华人民共和国)

0x20804

Chinese_PRC_Stroke_CI_AS

936

中文(新加坡)

0x1004

Chinese_PRC_90_CI_AS

936

中文(台湾)

0x404

Chinese_Taiwan_Stroke_CI_AS

950

中文(台湾)

0x30404

Chinese_Taiwan_Bopomofo_CI_AS

950

克罗地亚语

0x41a

Croatian_CI_AS

1250

捷克语

0x405

Czech_CI_AS

1250

丹麦语

0x406

Danish_Norwegian_CI_AS

1252

马尔代夫语1

0x465

Divehi_90_CI_AS(仅 Unicode)

Unicode

荷兰语(比利时)

0x813

Latin1_General_CI_AS

1252

荷兰语(荷兰)

0x413

Latin1_General_CI_AS

1252

英语(澳大利亚)

0xc09

Latin1_General_CI_AS

1252

英语(伯里兹)

0x2809

Latin1_General_CI_AS

1252

英语(加拿大)

0x1009

Latin1_General_CI_AS

1252

英语(加勒比海)

0x2409

Latin1_General_CI_AS

1252

英语(香港特别行政区)

0x3c09

Latin1_General_CI_AS

1252

英语(印度)

0x4009

Latin1_General_CI_AS

1252

英语(印度尼西亚)

0x3809

Latin1_General_CI_AS

1252

英语(爱尔兰)

0x1809

Latin1_General_CI_AS

1252

英语(牙买加)

0x2009

Latin1_General_CI_AS

1252

英语(马来西亚)

0x4409

Latin1_General_CI_AS

1252

英语(新西兰)

0x1409

Latin1_General_CI_AS

1252

英语(菲律宾)

0x3409

Latin1_General_CI_AS

1252

英语(新加坡)

0x4809

Latin1_General_CI_AS

1252

英语(南非)

0x1c09

Latin1_General_CI_AS

1252

英语(特立尼达)

0x2c09

Latin1_General_CI_AS

1252

英语(英国)

0x809

Latin1_General_CI_AS

1252

英语(美国)

0x409

SQL_Latin1_General_CP1_CI_AS

1252

英语(津巴布韦)

0x3009

Latin1_General_CI_AS

1252

爱沙尼亚语

0x425

Estonian_CI_AS

1257

法罗语

0x438

Latin1_General_CI_AS

1252

现代波斯语

0x429

Arabic_CI_AS

1256

芬兰语

0x40b

Finnish_Swedish_CI_AS

1252

法语(比利时)

0x80c

French_CI_AS

1252

法语(加拿大)

0xc0c

French_CI_AS

1252

法语(法国)

0x40c

French_CI_AS

1252

法语(卢森堡)

0x140c

French_CI_AS

1252

法语(摩纳哥)

0x180c

French_CI_AS

1252

法语(瑞士)

0x100c

French_CI_AS

1252

加利西亚语(西班牙)

0x456

Latin1_General_CI_AS

1252

格鲁吉亚语

0x437

Latin1_General_CI_AS

Unicode

德语(奥地利)

0xc07

Latin1_General_CI_AS

1252

德语(德国)

0x407

Latin1_General_CI_AS

1252

德语(列支敦士登)

0x1407

Latin1_General_CI_AS

1252

德语(卢森堡)

0x1007

Latin1_General_CI_AS

1252

德语(电话簿风格)

0x10407

German_PhoneBook_CI_AS

1252

德语(瑞士)

0x807

Latin1_General_CI_AS

1252

希腊语

0x408

Greek_CI_AS

1253

古吉拉特语(印度)3

0x447

Indic_General_90_CI_AS(仅 Unicode)

Unicode

希伯来语

0x40d

Hebrew_CI_AS

1255

印地语3

0x0439

Indic_General_90_CI_AS(仅 Unicode)

Unicode

匈牙利语

0x40e

Hungarian_CI_AS

1250

匈牙利语(技术)

0x104e

Hungarian_Technical_CI_AS

1250

北日耳曼语

0x40f

Icelandic_CI_AS

1252

印度尼西亚语

0x421

Latin1_General_CI_AS

1252

意大利语(意大利)

0x410

Latin1_General_CI_AS

1252

意大利语(瑞士)

0x810

Latin1_General_CI_AS

1252

日语

0x411

Japanese_CI_AS

932

卡纳达语(印度)3

0x44b

Indic_General_90_CI_AS(仅 Unicode)

Unicode

哈萨克语(哈萨克斯坦)1

0x43f

Kazakh_90_CI_AS

1251

贡根语(印度)3

0x457

Indic_General_90_CI_AS(仅 Unicode)

Unicode

朝鲜语 (Extended Wansung)

0x0412

Korean_Wansung_CI_AS

949

吉尔吉斯语-西里尔语(吉尔吉斯坦共和国)

0x440

Cyrillic_General_CI_AS

1251

拉脱维亚语

0x426

Latvian_CI_AS

1257

立陶宛语

0x427

Lithuanian_CI_AS

1257

马其顿语 (FYROM)

0x42f

Macedonian_FYROM_90_CI_AS

1251

马来语(文莱达鲁萨兰国)

0x83e

Latin1_General_CI_AS

1252

马来语(马来西亚)

0x43e

Latin1_General_CI_AS

1252

马拉地语(印度)3

0x44e

Indic_General_90_CI_AS(仅 Unicode)

Unicode

蒙古语-西里尔语(蒙古)

0x450

Cyrillic_General_CI_AS

1251

挪威语(博克马尔)

0x414

Danish_Norwegian_CI_AS

1252

挪威语(尼诺斯克)

0x814

Danish_Norwegian_CI_AS

1252

波兰语

0x415

Polish_CI_AS

1250

葡萄牙语(巴西)

0x416

Latin1_General_CI_AS

1252

葡萄牙语(葡萄牙)

0x816

Latin1_General_CI_AS

1252

旁遮普语-果鲁穆奇语(印度)3

0x446

Indic_General_90_CI_AS(仅 Unicode)

Unicode

罗马尼亚语

0x418

Romanian_CI_AS

1250

俄罗斯语

0x419

Cyrillic_General_CI_AS

1251

梵语(印度)3

0x44f

Indic_General_90_CI_AS(仅 Unicode)

Unicode

塞尔维亚语(西里尔)

0xc1a

Cyrillic_General_CI_AS

1251

塞尔维亚语(拉丁)

0x81a

Cyrillic_General_CI_AS

1250

斯洛伐克语

0x41b

Slovak_CI_AS

1250

斯洛文尼亚语

0x424

Slovenian_CI_AS

1250

西班牙语(阿根廷)

0x2c0a

Modern_Spanish_CI_AS

1252

西班牙语(玻利维亚)

0x400a

Modern_Spanish_CI_AS

1252

西班牙语(智利)

0x340a

Modern_Spanish_CI_AS

1252

西班牙语(哥伦比亚)

0x240a

Modern_Spanish_CI_AS

1252

西班牙语(哥斯达黎加)

0x140a

Modern_Spanish_CI_AS

1252

西班牙语(多米尼加共和国)

0x1c0a

Modern_Spanish_CI_AS

1252

西班牙语(厄瓜多尔)

0x300a

Modern_Spanish_CI_AS

1252

西班牙语(萨尔瓦多)

0x440a

Modern_Spanish_CI_AS

1252

西班牙语(危地马拉)

0x100a

Modern_Spanish_CI_AS

1252

西班牙语(洪都拉斯)

0x480a

Modern_Spanish_CI_AS

1252

西班牙语(国际风格)

0xc0a

Modern_Spanish_CI_AS

1252

西班牙语(墨西哥)

0x80a

Modern_Spanish_CI_AS

1252

西班牙(尼加拉瓜)

0x4c0a

Modern_Spanish_CI_AS

1252

西班牙语(巴拿马)

0x180a

Modern_Spanish_CI_AS

1252

西班牙语(巴拉圭)

0x3c0a

Modern_Spanish_CI_AS

1252

西班牙语(秘鲁)

0x280a

Modern_Spanish_CI_AS

1252

西班牙语(波多黎各)

0x500a

Modern_Spanish_CI_AS

1252

西班牙语(传统)

0x40a

Traditional_Spanish_CI_AS

1252

西班牙语(乌拉圭)

0x380a

Modern_Spanish_CI_AS

1252

西班牙语(委内瑞拉)

0x200a

Modern_Spanish_CI_AS

1252

斯瓦希里语

0x441

Latin1_General_CI_AS

1252

瑞典语

0x41d

Finnish_Swedish_CI_AS

1252

瑞典语(芬兰)

0x81d

Finnish_Swedish_CI_AS

1252

叙利亚语(叙利亚)1

0x45a

Syriac_90_CI_AS(仅 Unicode)

Unicode

泰米尔语(印度)1

0x449

Indic_General_90_CI_AS(仅 Unicode)

Unicode

鞑靼语(鞑靼斯坦)1

0x444

Tatar_90_CI_AS

1251

泰卢固语(印度)1

0x44a

Indic_General_90_CI_AS(仅 Unicode)

Unicode

泰国语

0x41e

Thai_CI_AS

874

土耳其语

0x41f

Turkish_CI_AS

1254

乌克兰语

0x422

Ukrainian_CI_AS

1251

乌尔都语

0x420

Arabic_CI_AS

1256

乌兹别克语(拉丁)1

0x443

Uzbek_Latin_90_CI_AS

1254

乌兹别克语-西里尔语(乌兹别克斯坦共和国)

0x843

Cyrillic_General_CI_AS

1251

越南语

0x42a

Vietnamese_CI_AS

1258

1SQL Server 2005 的新排序规则;这些排序规则使用 Windows 2003 排序表,因此支持补充字符。 BIN 和 BIN2 二进制排序都受新的 90 Windows 排序规则支持。

2使用拼音或发音排序。

3排序行为的主要更改;使用新的默认排序规则 Indic_General_90_CI_AS(仅 Unicode)。

4SQL Server 2005 中不推荐使用印地语排序规则,因为在此 SQL Server 版本中使用了 Windows 2000 排序表。 此排序规则仍然存在于服务器中,但它在将来的 SQL Server 版本中将不受支持,目前也不出现在 ::fn_helpcollations() 中。

5SQL Server 2005 中不推荐使用印地语和 Lithuanian_Classic 排序规则。 这些排序规则仍然存在于服务器中,但他们在将来的 SQL Server 版本中将不受支持,目前也不出现在 ::fn_helpcollations() 中。

请参阅

参考

排序规则选项与国际支持
排序规则设置
Windows 排序规则排序样式

概念

使用 SQL 排序规则

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2007 年 9 月 15 日

更改的内容:
  • 修改了有关使用 Japanese、Japanese_Unicode 和 Japanese_90 排序规则的建议。

2005 年 12 月 5 日

更改的内容:
  • 增加了对 Macedonian_FYROM_90 排序规则支持的说明。