定序類型

SQL Server 提供了兩組定序:Windows 定序和 SQL Server 定序。

Windows 定序

Windows 定序是針對 SQL Server 所定義的定序,這些定序可以支援適用於安裝 SQL Server 執行個體之作業系統的 Windows 系統地區設定。如需有關 SQL Server 2008 中加入之全新 Windows 定序支援 (以 Windows 系統地區設定為基礎的定序) 和所有其他 Windows 定序的詳細資訊,請參閱<Windows 定序名稱 (Transact-SQL)>。

藉由指定 SQL Server 的 Windows 定序,SQL Server 執行個體所使用的字碼頁和排序及比較規則,會與您已指定相關聯之 Windows 地區設定的電腦上所執行的應用程式相同。例如,SQL Server 的法文 Windows 定序符合 Windows 法文地區設定的定序屬性。

Windows 地區設定多於 SQL Server Windows 定序。Windows 地區設定的名稱是以語言與地域為基礎,例如法文 (加拿大)。但有幾種語言會在排序與比較字元方面共用相同的字母與規則。例如,有許多 Windows 地區設定 (包括所有葡萄牙文和英文 Windows 地區設定) 使用 Latin1 字碼頁 (1252),並遵循一組共同規則來排序和比較字元。Latin1_General (以 1252 字碼頁與排序規則為基礎的 SQL Server 支援 Windows 定序) 支援這些所有 Windows 地區設定。

此外,Windows 地區設定也指定 SQL Server 支援 Windows 定序未涵蓋的屬性,例如貨幣、日期和時間格式。因為英國與美國等國家和地區會使用不同的貨幣、日期和時間格式,所以需要不同的 Windows 地區設定。不過,因為他們在排序與比較字元方面會使用相同的字母與規則,所以不需要不同的 SQL Server 定序。在 SQL Server 中,Windows 定序會與一些後置詞結合,以便根據大小寫、腔調字、假名及全半形等區分另行定義排序與比較規則。如需有關這些後置詞的詳細資訊,請參閱<Windows 定序排序樣式>。

SQL Server 定序

SQL Server 定序是一種相容性選項,可對應舊版 SQL Server 所指定之字碼頁編號與排序次序一般組合的屬性。這些定序大多支援適用於大小寫、腔調字、假名及全半形等區分的後置詞,但也有例外。如需詳細資訊,請參閱<使用 SQL Server 定序>。

SQL Server 定序會使用 Unicode 資料的對應 Windows 定序,將非 Unicode 排序規則套用到非 Unicode 資料上,並將 Unicode 排序規則套用到 Unicode 資料上。這種差異會導致相同字元的比較結果不一致。因此,如果您在資料庫中混用 Unicode 與非 Unicode 資料行,即應使用 Windows 定序全數加以定義,讓 Unicode 與非 Unicode 資料都使用相同的排序規則。

為了維護與舊版 SQL Server 的相容性或與使用舊版 SQL Server 中之 SQL Server 定序所開發的應用程式的相容性,SQL Server 會在使用英文 (美國) Windows 系統地區設定的電腦上,提供 SQL_Latin1_General_CP1_CI_AS 定序當做伺服器安裝的預設定序。

Windows 定序與 SQL Server 定序的效能可能會有差異。如需詳細資訊,請參閱<Unicode 的儲存和效能效果>。