

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

# 管理 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\_Latin1\_General\_CP1\_CI\_AS。依預設，會將伺服器定序套用到所有資料庫和資料庫物件。

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

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


| 定序 | Description | 
| --- | --- | 
| 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 資料庫執行個體](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\_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 支援：
+ [使用定序](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)