Amazon RDS for Microsoft SQL Server の照合と文字セットの管理 - Amazon Relational Database Service

Amazon RDS for Microsoft SQL Server の照合と文字セットの管理

このトピックでは、Amazon RDS で Microsoft SQL Server の照合順序と文字セットを管理する方法について説明します。データベースの作成中に照合順序を設定し、後で変更する方法を説明し、言語とロケールの要件に基づいてテキストデータを適切に処理できるようにします。さらに、Amazon RDS の SQL Server 環境で互換性とパフォーマンスを維持するためのベストプラクティスについても説明します。

SQL Server は、複数のレベルで照合をサポートします。DB インスタンスを作成するときに、デフォルトのサーバー照合を設定します。照合は、データベース、テーブル、または列レベルでオーバーライドできます。

Microsoft SQL Server のサーバーレベルの照合

Microsoft SQL Server DB インスタンスを作成するときに、使用するサーバーの照合順序を設定できます。別の照合を選択しない場合、サーバーレベルの照合はデフォルトでSQL_Latin1_General_CP1_CI_AS になります。サーバー照合は、デフォルトですべてのデータベースとデータベースオブジェクトに適用されます。

注記

DB スナップショットから復元する場合は、照合順序を変更できません。

Amazon RDS は現在、以下のサーバー照合をサポートしています。

照合 説明

Arabic_CI_AS

アラビア語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし

Chinese_PRC_BIN2

Chinese-PRC、バイナリコードポイントのソート順序

Chinese_PRC_CI_AS

中国語 - 中華人民共和国、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし

Chinese_Taiwan_Stroke_CI_AS

繁体字中国語 (台湾)、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし

Danish_Norwegian_CI_AS

デンマーク-ノルウェー語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし

Danish_Norwegian_CI_AS_KS

デンマーク-ノルウェー語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別あり、全角半角の区別なし

Danish_Norwegian_CI_AS_KS_WS

デンマーク-ノルウェー語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別あり、全角半角の区別あり

Danish_Norwegian_CI_AS_WS

デンマーク-ノルウェー語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別あり

Danish_Norwegian_CS_AI

デンマーク-ノルウェー語、大文字と小文字の区別あり、アクセント (濁音、破裂音) の区別なし、ひらがな片仮名の区別なし、全角半角の区別なし

Danish_Norwegian_CS_AI_KS

デンマーク-ノルウェー語、大文字と小文字の区別あり、アクセント (濁音、破裂音) の区別なし、ひらがな片仮名の区別あり、全角半角の区別なし

Finnish_Swedish_100_BIN

Finnish-Swedish-100、バイナリソート

Finnish_Swedish_100_BIN2

Finnish-Swedish-100、バイナリコードポイント比較ソート

Finnish_Swedish_100_CI_AI

フィンランド-スウェーデン語-100、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別なし、ひらがな片仮名の区別なし、全角半角の区別なし

Finnish_Swedish_100_CI_AS

フィンランド-スウェーデン語-100、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし

Finnish_Swedish_CI_AS

フィンランド語、スウェーデン語、およびスウェーデン語 (フィンランド)、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし

French_CI_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

韓国語 (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

現代スペイン語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし

Polish_CI_AS

ポーランド語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし

SQL_1xCompat_CP850_CI_AS

Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 850 の SQL Server ソート順 49 (非 Unicode データの場合)

SQL_Latin1_General_CP1_CI_AI

Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別なし、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 1252 の SQL Server ソート順 54 (非 Unicode データの場合)

SQL_Latin1_General_CP1_CI_AS (デフォルト)

Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 1252 の SQL Server ソート順 52 (非 Unicode データの場合)

SQL_Latin1_General_CP1_CS_AS

Latin1-General、大文字と小文字の区別あり、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 1252 の SQL Server ソート順 51 (非 Unicode データの場合)

SQL_Latin1_General_CP437_CI_AI

Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別なし、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 437 の SQL Server ソート順 34 (非 Unicode データの場合)

SQL_Latin1_General_CP850_BIN

Latin1-General、バイナリソート順 (Unicode データの場合)、コードページ 850 の SQL Server ソート順 40 (非 Unicode データの場合)

SQL_Latin1_General_CP850_BIN2

Latin1-General、バイナリコードポイントソート (Unicode データの場合)、コードページ 850 の SQL Server ソート順 40 (非 Unicode データの場合)

SQL_Latin1_General_CP850_CI_AI

Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別なし、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 850 の SQL Server ソート順 44 (非 Unicode データの場合)

SQL_Latin1_General_CP850_CI_AS

Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 850 の SQL Server ソート順 42 (非 Unicode データの場合)

SQL_Latin1_General_CP1256_CI_AS

Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 1256 の SQL Server ソート順 146 (非 Unicode データの場合)

SQL_Latin1_General_CP1255_CS_AS

Latin1-General、大文字と小文字の区別あり、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 1255 の SQL Server ソート順 137 (非 Unicode データの場合)

Thai_CI_AS

タイ語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし

Turkish_CI_AS

トルコ語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし

照合を選択

  • Amazon RDS のコンソールを使用している場合、新しい DB インスタンスを作成するときには、[Additional configuration] (追加設定) を選択し、[Collation] (照合) フィールドに照合を入力します。詳細については、「Amazon RDS DB インスタンスの作成」を参照してください。

  • 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 照合に対応できるように、これを Mohawk_100_CI_AS に変更することができます。クエリの引数も、必要に応じて他の照合順序を使用するために型変換できます。

例えば、次のクエリは、AccountName 列のデフォルト照合順序を Japanese_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 DB エンジンは、組み込みの NCHAR、NVARCHAR、および NTEXT データ型で Unicode をサポートします。例えば、CJK サポートが必要な場合は、データベースとテーブルを作成するときに、文字列ストレージに対してこれらの Unicode データ型を使用して、デフォルトサーバー照合順序を上書きします。以下のリンクから、SQL Server に対する照合順序と Unicode のサポートに関連する Microsoft の情報を参照できます。