僅限 Unicode 定序

Unicode 規格為全世界各行各業廣泛使用的字元定義單一的編碼配置。所有電腦都以一致的方式將 Unicode 資料的位元模式以一個 Unicode 格式轉換成字元。這樣一來,同一個位元模式在所有電腦上都一定會轉換成同一個字元。資料可以自由地從一個資料庫或電腦轉換到別的資料庫或電腦,不須擔心接收系統會將位元模式轉換成錯誤的字元。

Unicode 會使用 2 個位元組來編碼每個字元。採用 2 個位元組的規格可以有足夠的不同模式 (65,536) 來涵蓋大部分的商業語言。只要整個系統都使用 Unicode 資料類型,就可以將字元轉換問題減到最少。

使用 COLLATE

針對僅限 Unicode 資料 (例如 nchar、nvarchar 和 nvarchar(max)) 所指定的僅限 Windows Unicode 定序沒有相關聯的字碼頁。

在 SQL Server 中,這些資料類型都支援 Unicode 資料:

  • nchar

  • nvarchar

  • ntext

僅限 Unicode 定序只能搭配 COLLATE 子句使用,以便將定序套用至資料行層級和運算式層級資料的 nchar、nvarchar 和 ntext 資料類型。不過,僅限 Unicode 定序無法搭配 COLLATE 子句使用,以便變更資料庫或伺服器執行個體的定序。

在伺服器安裝與用戶端資料庫應用程式之間管理資料時,僅限 Unicode 定序可能會很有用。傳統用戶端應用程式通常會安裝在舊版作業系統上,而且用戶端應用程式可能無法辨識已經套用至安裝在新版作業系統上之 SQL Server 資料庫或伺服器的新版 Windows 定序。如果僅限 Unicode 定序套用至伺服器上的特定資料行層級或運算式層級資料,用戶端就不會嘗試將內送資料對應至不正確的字碼頁,而且匯入用戶端的資料將維持字元完整性。