管理 Amazon RDS for Microsoft SQL Server 的定序和字元集
本主題提供如何管理 Amazon RDS 中 Microsoft SQL Server 的定序和字元集的指引。它說明如何在資料庫建立期間設定定序,並在稍後進行修改,以確保根據語言和地區設定要求適當處理文字資料。此外,它涵蓋了在 Amazon RDS 中維護 SQL Server 環境中相容性和效能的最佳實務。
SQL Server 支援在多個層級的定序。您在建立資料庫執行個體時會設定預設伺服器定序。您可以在資料庫、資料表或欄層級覆寫定序。
Microsoft SQL Server 的伺服器層級定序
在建立 Microsoft SQL Server 資料庫執行個體時,您可以設定要使用的伺服器定序。如果您沒有選擇不同的定序,伺服器層級定序預設為 SQL_Latin1_General_CP1_CI_AS。依預設,會將伺服器定序套用到所有資料庫和資料庫物件。
注意
從資料庫快照還原時,無法變更定序。
Amazon RDS 目前支援以下伺服器定序:
| 定序 | 描述 |
|---|---|
|
Arabic_CI_AS |
阿拉伯文、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Chinese_PRC_BIN2 |
Chinese-PRC,二進位代碼點排序順序 |
|
Chinese_PRC_CI_AS |
Chinese-PRC、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Chinese_Taiwan_Stroke_CI_AS |
Chinese-Taiwan-Stroke、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Danish_Norwegian_CI_AS |
Danish-Norwegian、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Danish_Norwegian_CI_AS_KS |
Danish-Norwegian、不區分大小寫、區分重音、區分假名、不區分寬度 |
|
Danish_Norwegian_CI_AS_KS_WS |
Danish-Norwegian、不區分大小寫、區分重音、區分假名、區分寬度 |
|
Danish_Norwegian_CI_AS_WS |
Danish-Norwegian、不區分大小寫、區分重音、不區分假名、區分寬度 |
|
Danish_Norwegian_CS_AI |
Danish-Norwegian、區分大小寫、不區分重音、不區分假名、不區分寬度 |
|
Danish_Norwegian_CS_AI_KS |
Danish-Norwegian、區分大小寫、不區分重音、區分假名、不區分寬度 |
|
Finnish_Swedish_100_BIN |
Finnish-Swedish-100、二進位排序 |
|
Finnish_Swedish_100_BIN2 |
Finnish-Swedish-100、二進位程式碼點比較排序 |
|
Finnish_Swedish_100_CI_AI |
Finnish-Swedish-100、不區分大小寫、不區分重音、不區分假名、不區分寬度 |
|
Finnish_Swedish_100_CI_AS |
Finnish-Swedish-100、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Finnish_Swedish_CI_AS |
芬蘭文、瑞典文和瑞典文 (芬蘭)、不區分大小寫、區分重音、卡納型不區分、不區分假名 |
|
French_CI_AS |
法文、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Greek_CI_AS |
希臘文、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Greek_CS_AS |
希臘文、區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Hebrew_BIN |
希伯來文、二進位排序 |
|
Hebrew_CI_AS |
希伯來文、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Japanese_BIN |
日文、二進位排序 |
|
Japanese_CI_AS |
日文、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Japanese_CS_AS |
日文、區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Japanese_XJIS_140_CI_AS |
日文、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、不區分變體選擇器 |
|
Japanese_XJIS_140_CI_AS_KS_VSS |
日文、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、區分變體選擇器 |
|
Japanese_XJIS_140_CI_AS_VSS |
日文、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、區分變體選擇器 |
|
Japanese_XJIS_140_CS_AS_KS_WS |
日文、區分大小寫、區分重音、區分假名、區分寬度、補充字元、不區分變體選擇器 |
|
Korean_Wansung_CI_AS |
Korean-Wansung、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Latin1_General_100_BIN |
Latin1-General-100、二進位排序 |
|
Latin1_General_100_BIN2 |
Latin1-General-100、二進位代碼點排序順序 |
|
Latin1_General_100_BIN2_UTF8 |
Latin1-General-100、二進位代碼點排序順序、UTF-8 編碼 |
|
Latin1_General_100_CI_AS |
Latin1-General-100、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Latin1_General_100_CI_AS_SC_UTF8 |
Latin1-General-100、不區分大小寫、區分重音、補充字元、UTF-8 編碼 |
|
Latin1_General_BIN |
Latin1-General、二進位排序 |
|
Latin1_General_BIN2 |
Latin1-General、二進位代碼點排序順序 |
|
Latin1_General_CI_AI |
Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度 |
|
Latin1_General_CI_AS |
Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Latin1_General_CI_AS_KS |
Latin1-General、不區分大小寫、區分重音、區分假名、不區分寬度 |
|
Latin1_General_CS_AS |
Latin1-General、區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Modern_Spanish_CI_AS |
Modern-Spanish、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Polish_CI_AS |
波蘭文、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
SQL_1xCompat_CP850_CI_AS |
Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度,適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 49 |
|
SQL_Latin1_General_CP1_CI_AI |
Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度,適用於非 Unicode 資料字碼頁 1252 上的 Unicode 資料、SQL Server 排序 54 |
|
SQL_Latin1_General_CP1_CI_AS (預設值) |
Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度,適用於非 Unicode 資料字碼頁 1252 上的 Unicode 資料、SQL Server 排序 52 |
|
SQL_Latin1_General_CP1_CS_AS |
Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度,適用於非 Unicode 資料字碼頁 1252 上的 Unicode 資料、SQL Server 排序 51 |
|
SQL_Latin1_General_CP437_CI_AI |
Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度,適用於非 Unicode 資料字碼頁 437 上的 Unicode 資料、SQL Server 排序 34 |
|
SQL_Latin1_General_CP850_BIN |
Latin1-General、二進位排序順序 (適用於 Unicode 資料)、字碼頁 850 上的 SQL Server 排序 40 (適用於非 Unicode 資料) |
|
SQL_Latin1_General_CP850_BIN2 |
Latin1-General、二進位代碼點排序順序,適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 40 |
|
SQL_Latin1_General_CP850_CI_AI |
Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度 (適用於 Unicode 資料)、字碼頁 850 上的 SQL Server 排序 44 (適用於非 Unicode 資料) |
|
SQL_Latin1_General_CP850_CI_AS |
Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度,適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 42 |
|
SQL_Latin1_General_Pref_CP850_CI_AS |
Latin1-General-Pref、不區分大小寫、區分重音、不區分假名、不區分寬度,適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 183 |
|
SQL_Latin1_General_CP1256_CI_AS |
Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度,適用於非 Unicode 資料字碼頁 1256 上的 Unicode 資料、SQL Server 排序 146 |
|
SQL_Latin1_General_CP1255_CS_AS |
Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度,適用於非 Unicode 資料字碼頁 1255 上的 Unicode 資料、SQL Server 排序 137 |
|
Thai_CI_AS |
泰語、不區分大小寫、區分重音、不區分假名、不區分寬度 |
|
Turkish_CI_AS |
土耳其文、不區分大小寫、區分重音、不區分假名、不區分寬度 |
您也可以使用 AWS CLI 以程式設計方式擷取支援的定序清單:
aws rds describe-db-engine-versions --engine sqlserver-ee --list-supported-character-sets --query 'DBEngineVersions[].SupportedCharacterSets[].CharacterSetName' | sort -u
選擇定序:
-
如果您使用 Amazon RDS 主控台,在建立新的資料庫執行個體時,請選擇 Additional configuration (其他組態),然後在 Collation (定序) 欄位中輸入定序。如需更多詳細資訊,請參閱 建立 Amazon RDS 資料庫執行個體。
-
如果您使用 AWS CLI,請以
--character-set-name命令使用create-db-instance選項。如需詳細資訊,請參閱 create-db-instance。 -
如果您使用 Amazon RDS API,請以
CharacterSetName操作使用CreateDBInstance參數。如需詳細資訊,請參閱 CreateDBInstance。
Microsoft SQL Server 的資料庫層級定序
在建立新的資料庫或資料庫物件時,您可以透過覆寫定序來變更資料庫、資料表或資料欄層級的預設定序。例如,如果您的預設伺服器定序為 SQL_Latin1_General_CP1_CI_AS,您可以將其變更為 Mohawk_100_CI_AS 來支援 Mohawk 定序。如果必要,查詢中的每個引數可以是類型轉換以使用不同的定序。
例如,下列查詢會將 AccountName 資料欄的預設定序變更為 Mohawk_100_CI_AS
CREATE TABLE [dbo].[Account] ( [AccountID] [nvarchar](10) NOT NULL, [AccountName] [nvarchar](100) COLLATE Mohawk_100_CI_AS NOT NULL ) ON [PRIMARY];
Microsoft SQL Server 資料庫引擎透過內建的 NCHAR、NVARCHAR 和 NTEXT 資料類型來支援 Unicode。例如,如果您需要 CJK 支援,在建立資料庫和資料表時,請對字元儲存使用這些 Unicode 資料類型,並覆寫預設伺服器定序。以下是 Microsoft 提供的數個連結,內容涵蓋 SQL Server 的定序和 Unicode 支援: