

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 管理 Amazon RDS for Microsoft SQL Server 的定序和字元集
<a name="Appendix.SQLServer.CommonDBATasks.Collation"></a>

本主題提供如何管理 Amazon RDS 中 Microsoft SQL Server 的定序和字元集的指引。它說明如何在資料庫建立期間設定定序，並在稍後進行修改，以確保根據語言和地區設定要求適當處理文字資料。此外，它涵蓋了在 Amazon RDS 中維護 SQL Server 環境中相容性和效能的最佳實務。

SQL Server 支援在多個層級的定序。您在建立資料庫執行個體時會設定預設伺服器定序。您可以在資料庫、資料表或欄層級覆寫定序。

**Topics**
+ [Microsoft SQL Server 的伺服器層級定序](#Appendix.SQLServer.CommonDBATasks.Collation.Server)
+ [Microsoft SQL Server 的資料庫層級定序](#Appendix.SQLServer.CommonDBATasks.Collation.Database-Table-Column)

## Microsoft SQL Server 的伺服器層級定序
<a name="Appendix.SQLServer.CommonDBATasks.Collation.Server"></a>

在建立 Microsoft SQL Server 資料庫執行個體時，您可以設定要使用的伺服器定序。如果您沒有選擇不同的定序，伺服器層級定序預設為 SQL\$1Latin1\$1General\$1CP1\$1CI\$1AS。依預設，會將伺服器定序套用到所有資料庫和資料庫物件。

**注意**  
從資料庫快照還原時，無法變更定序。

Amazon RDS 目前支援以下伺服器定序：


| 定序 | Description | 
| --- | --- | 
|  Arabic\$1CI\$1AS  |  阿拉伯文、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Chinese\$1PRC\$1BIN2  |  Chinese-PRC，二進位代碼點排序順序  | 
|  Chinese\$1PRC\$1CI\$1AS  |  Chinese-PRC、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Chinese\$1Taiwan\$1Stroke\$1CI\$1AS  |  Chinese-Taiwan-Stroke、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Danish\$1Norwegian\$1CI\$1AS  |  Danish-Norwegian、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Danish\$1Norwegian\$1CI\$1AS\$1KS  |  Danish-Norwegian、不區分大小寫、區分重音、區分假名、不區分寬度  | 
|  Danish\$1Norwegian\$1CI\$1AS\$1KS\$1WS  |  Danish-Norwegian、不區分大小寫、區分重音、區分假名、區分寬度  | 
|  Danish\$1Norwegian\$1CI\$1AS\$1WS  |  Danish-Norwegian、不區分大小寫、區分重音、不區分假名、區分寬度  | 
|  Danish\$1Norwegian\$1CS\$1AI  |  Danish-Norwegian、區分大小寫、不區分重音、不區分假名、不區分寬度  | 
|  Danish\$1Norwegian\$1CS\$1AI\$1KS  |  Danish-Norwegian、區分大小寫、不區分重音、區分假名、不區分寬度  | 
|  Finnish\$1Swedish\$1100\$1BIN  |  Finnish-Swedish-100、二進位排序  | 
|  Finnish\$1Swedish\$1100\$1BIN2  |  Finnish-Swedish-100、二進位程式碼點比較排序  | 
|  Finnish\$1Swedish\$1100\$1CI\$1AI  |  Finnish-Swedish-100、不區分大小寫、不區分重音、不區分假名、不區分寬度  | 
|  Finnish\$1Swedish\$1100\$1CI\$1AS  |  Finnish-Swedish-100、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Finnish\$1Swedish\$1CI\$1AS  |  芬蘭文、瑞典文和瑞典文 (芬蘭)、不區分大小寫、區分重音、卡納型不區分、不區分假名  | 
|  French\$1CI\$1AS  |  法文、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Greek\$1CI\$1AS  |  希臘文、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Greek\$1CS\$1AS  |  希臘文、區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Hebrew\$1BIN  |  希伯來文、二進位排序  | 
|  Hebrew\$1CI\$1AS  |  希伯來文、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Japanese\$1BIN  | 日文、二進位排序 | 
|  Japanese\$1CI\$1AS  |  日文、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Japanese\$1CS\$1AS  |  日文、區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Japanese\$1XJIS\$1140\$1CI\$1AS  |  日文、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、不區分變體選擇器  | 
|  Japanese\$1XJIS\$1140\$1CI\$1AS\$1KS\$1VSS  |  日文、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、區分變體選擇器  | 
|  Japanese\$1XJIS\$1140\$1CI\$1AS\$1VSS  |  日文、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、區分變體選擇器  | 
|  Japanese\$1XJIS\$1140\$1CS\$1AS\$1KS\$1WS  |  日文、區分大小寫、區分重音、區分假名、區分寬度、補充字元、不區分變體選擇器  | 
|  Korean\$1Wansung\$1CI\$1AS  |  Korean-Wansung、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Latin1\$1General\$1100\$1BIN  |  Latin1-General-100、二進位排序  | 
|  Latin1\$1General\$1100\$1BIN2  |  Latin1-General-100、二進位代碼點排序順序  | 
|  Latin1\$1General\$1100\$1BIN2\$1UTF8  |  Latin1-General-100、二進位代碼點排序順序、UTF-8 編碼  | 
|  Latin1\$1General\$1100\$1CI\$1AS  |  Latin1-General-100、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Latin1\$1General\$1100\$1CI\$1AS\$1SC\$1UTF8  |  Latin1-General-100、不區分大小寫、區分重音、補充字元、UTF-8 編碼  | 
|  Latin1\$1General\$1BIN  |  Latin1-General、二進位排序  | 
|  Latin1\$1General\$1BIN2  |  Latin1-General、二進位代碼點排序順序  | 
|  Latin1\$1General\$1CI\$1AI  |  Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度  | 
|  Latin1\$1General\$1CI\$1AS  |  Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Latin1\$1General\$1CI\$1AS\$1KS  |  Latin1-General、不區分大小寫、區分重音、區分假名、不區分寬度  | 
|  Latin1\$1General\$1CS\$1AS  |  Latin1-General、區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Modern\$1Spanish\$1CI\$1AS  |  Modern-Spanish、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Polish\$1CI\$1AS  |  波蘭文、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  SQL\$11xCompat\$1CP850\$1CI\$1AS  |  Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 49  | 
|  SQL\$1Latin1\$1General\$1CP1\$1CI\$1AI  |  Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 1252 上的 Unicode 資料、SQL Server 排序 54  | 
|  **SQL\$1Latin1\$1General\$1CP1\$1CI\$1AS (預設值)**  |  Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 1252 上的 Unicode 資料、SQL Server 排序 52  | 
|  SQL\$1Latin1\$1General\$1CP1\$1CS\$1AS  |  Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 1252 上的 Unicode 資料、SQL Server 排序 51  | 
|  SQL\$1Latin1\$1General\$1CP437\$1CI\$1AI  |  Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 437 上的 Unicode 資料、SQL Server 排序 34  | 
|  SQL\$1Latin1\$1General\$1CP850\$1BIN  |  Latin1-General、二進位排序順序 (適用於 Unicode 資料)、字碼頁 850 上的 SQL Server 排序 40 (適用於非 Unicode 資料)  | 
|  SQL\$1Latin1\$1General\$1CP850\$1BIN2  |  Latin1-General、二進位代碼點排序順序，適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 40  | 
|  SQL\$1Latin1\$1General\$1CP850\$1CI\$1AI  |  Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度 (適用於 Unicode 資料)、字碼頁 850 上的 SQL Server 排序 44 (適用於非 Unicode 資料)  | 
|  SQL\$1Latin1\$1General\$1CP850\$1CI\$1AS  |  Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 42  | 
|  SQL\$1Latin1\$1General\$1Pref\$1CP850\$1CI\$1AS  |  Latin1-General-Pref、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 183  | 
|  SQL\$1Latin1\$1General\$1CP1256\$1CI\$1AS  |  Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 1256 上的 Unicode 資料、SQL Server 排序 146  | 
|  SQL\$1Latin1\$1General\$1CP1255\$1CS\$1AS  |  Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 1255 上的 Unicode 資料、SQL Server 排序 137  | 
|  Thai\$1CI\$1AS  |  泰語、不區分大小寫、區分重音、不區分假名、不區分寬度  | 
|  Turkish\$1CI\$1AS  |  土耳其文、不區分大小寫、區分重音、不區分假名、不區分寬度  | 

您也可以使用 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 資料庫執行個體](USER_CreateDBInstance.md)。
+ 如果您使用的是 AWS CLI，請使用 `--character-set-name`選項搭配 `create-db-instance`命令。如需詳細資訊，請參閱 [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)。
+ 如果您使用 Amazon RDS API，請以 `CharacterSetName` 操作使用 `CreateDBInstance` 參數。如需詳細資訊，請參閱 [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)。

## Microsoft SQL Server 的資料庫層級定序
<a name="Appendix.SQLServer.CommonDBATasks.Collation.Database-Table-Column"></a>

在建立新的資料庫或資料庫物件時，您可以透過覆寫定序來變更資料庫、資料表或資料欄層級的預設定序。例如，如果您的預設伺服器定序為 SQL\$1Latin1\$1General\$1CP1\$1CI\$1AS，您可以將其變更為 Mohawk\$1100\$1CI\$1AS 來支援 Mohawk 定序。如果必要，查詢中的每個引數可以是類型轉換以使用不同的定序。

例如，下列查詢會將 AccountName 資料欄的預設定序變更為 Mohawk\$1100\$1CI\$1AS

```
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 支援：
+ [使用定序](http://msdn.microsoft.com/en-us/library/ms187582%28v=sql.105%29.aspx) 
+ [定序和國際術語](http://msdn.microsoft.com/en-us/library/ms143726%28v=sql.105%29) 
+ [使用 SQL Server 定序](http://msdn.microsoft.com/en-us/library/ms144260%28v=sql.105%29.aspx) 
+ [資料庫和資料庫引擎應用程式的國際考量](http://msdn.microsoft.com/en-us/library/ms190245%28v=sql.105%29.aspx)