データベースの照合順序の設定または変更

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2012 でデータベースの照合順序を設定および変更する方法を説明します。 照合順序を指定しない場合、サーバーの照合順序が使用されます。

このトピックの内容

  • 作業を開始する準備:

    制限事項と制約事項

    推奨事項

    セキュリティ

  • データベースの照合順序を設定または変更する方法:

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

制限事項と制約事項

  • Windows Unicode 専用の照合順序は、COLLATE 句で nchar、nvarchar、および ntext の各データ型を列レベルと式レベルのデータに適用する場合にのみ使用できます。 データベースまたはサーバー インスタンスの照合順序を変更するために、COLLATE 句で使用することはできません。

  • 指定した照合順序、または参照先のオブジェクトで使用される照合順序で、Windows でサポートされていないコード ページが使用されていると、データベース エンジン でエラーが表示されます。

推奨事項

  • サポートされる照合順序名は、「Windows 照合順序名 (Transact-SQL)」と「SQL Server 照合順序名 (Transact-SQL)」で確認できます。または、sys.fn_helpcollations (Transact-SQL) システム関数を使用できます。

  • データベースの照合順序を変更すると、次の変更が行われます。

    • システム テーブル内の char 型、varchar 型、text 型、nchar 型、nvarchar 型、または ntext 型の列はすべて、新しい照合順序に変更されます。

    • ストアド プロージャおよびユーザー定義関数で使用されている char 型、varchar 型、text 型、nchar 型、nvarchar 型、または ntext 型の既存のパラメーターおよびスカラー値の戻り値はすべて、新しい照合順序に変更されます。

    • char 型、varchar 型、text 型、nchar 型、nvarchar 型、または ntext 型のシステム データ型およびこれらを基にしたユーザー定義データ型はすべて、新しい既定の照合順序に変更されます。

  • ユーザー データベースに作成する新しいオブジェクトの照合順序は、ALTER DATABASE ステートメントの COLLATE 句を使用して変更できます。 このステートメントを実行しても、既存のユーザー定義テーブルの列の照合順序は変わりません。 ALTER TABLE の COLLATE 句で変更することができます。

セキュリティ

権限

  • CREATE DATABASE
    master データベースの CREATE DATABASE 権限、CREATE ANY DATABASE 権限、または ALTER ANY DATABASE 権限が必要です。

  • ALTER DATABASE
    データベースに対する ALTER 権限が必要です。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

データベースの照合順序を設定または変更するには

  1. オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続して、そのインスタンスを展開します。次に、[データベース] を展開します。

  2. 新しいデータベースを作成する場合は、[データベース] を右クリックし、[新しいデータベース] をクリックします。 既定の照合順序を使用しない場合は、[オプション] ページをクリックし、[照合順序] ボックスの一覧から照合順序を選択します。

    データベースが既に存在する場合は、使用するデータベースを右クリックし、[プロパティ] をクリックします。 [オプション] ページをクリックし、[照合順序] ボックスの一覧から照合順序を選択します。

  3. 終了したら [OK] をクリックします。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

データベースの照合順序を設定するには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。 この例は、COLLATE 句を使用して照合順序名を指定する方法を示しています。 この例は、Latin1_General_100_CS_AS_SC 照合順序を使用する MyOptionsTest を作成します。 データベースを作成したら、SELECT ステートメントを実行して設定を検証します。

USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE Latin1_General_100_CS_AS_SC;
GO

--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

データベースの照合順序を変更するには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします この例は、ALTER DATABASE ステートメントで COLLATE 句を使用して照合順序名を変更する方法を示しています。 SELECT ステートメントを実行して変更を確認します。

USE master;
GO
ALTER DATABASE MyOptionsTest
COLLATE French_CI_AS ;
GO

--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

[トップに戻る] リンクで使用される矢印アイコン[Top]

関連項目

参照

sys.fn_helpcollations (Transact-SQL)

sys.databases (Transact-SQL)

SQL Server 照合順序名 (Transact-SQL)

Windows 照合順序名 (Transact-SQL)

COLLATE (Transact-SQL)

照合順序の優先順位 (Transact-SQL)

CREATE TABLE (Transact-SQL)

CREATE DATABASE (Transact-SQL)

ALTER TABLE (Transact-SQL)

ALTER DATABASE (Transact-SQL)

概念

照合順序と Unicode のサポート