主キーの変更

SQL Server 2012 では、SQL Server Management Studio または Transact-SQL を使用して主キーを変更できます。 列の順序、インデックス名、クラスター化オプション、または FILL FACTOR を変更することで、テーブルの主キーを変更できます。

このトピックの内容

  • 作業を開始する準備:

    セキュリティ

  • 主キーを変更するための方法:

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

セキュリティ

権限

テーブルに対する ALTER 権限が必要です。

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

SQL Server Management Studio の使用

主キーを変更するには

  1. 主キーを変更するテーブルのテーブル デザイナーを開き、テーブル デザイナー内を右クリックして、ショートカット メニューの [インデックス/キー] をクリックします。

  2. [インデックス/キー] ダイアログ ボックスで、[選択された主/一意キーまたはインデックス] ボックスから主キー インデックスを選択します。

  3. 次の表の操作を完了します。

    目的

    手順

    主キーの名前を変更する。

    [オブジェクト名] ボックスに新しい名前を入力します。 新しい名前が [選択された主/一意キーまたはインデックス] ボックスの一覧の名前と重複していないことを確認します。

    クラスター化オプションを設定する。

    主キーのクラスター化インデックスを作成するには、[CLUSTERED として作成] を選択し、ドロップダウン リスト ボックスからオプションを選択します。 1 つのテーブルには、クラスター化インデックスを 1 つだけ作成できます。 インデックスにこのオプションを使用できない場合は、まず既存のクラスター化インデックスでこのチェック ボックスをオフにする必要があります。

    このオプションを選択しない場合、一意の非クラスター化インデックスが作成されます。

    FILL FACTOR を定義する。

    [FILL の指定] カテゴリを展開して、[FILL FACTOR] ボックスに 0 ~ 100 の整数を入力します。 Fill Factor の詳細とその使用方法については、「インデックスの FILL FACTOR の指定」を参照してください。

    列の順序を変更する。

    [列] をクリックして、プロパティの右にある省略記号 ([...]) をクリックします。 [インデックスの列] ダイアログ ボックスで、主キーから列を削除します。 次に、削除した列を必要な順序で再度追加します。 [列名] ボックスの一覧から列名を削除するだけで、キーから列を削除できます。

  4. [ファイル] メニューの [table name の保存] をクリックします。

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

Transact-SQL の使用

主キーを変更するには

Transact-SQL を使用して PRIMARY KEY 制約を変更するには、最初に既存の PRIMARY KEY 制約を削除してから、新しい定義を使用して再作成する必要があります。 詳細については、「主キーの削除」および「主キーの作成」を参照してください。

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