< MSDEのデータをエクスポート・インポートするJScript | int foo(1); >

February 26, 2004

主キーを別のファイルグループに作成したくても・・・

MSDEで、表とプライマリキーを別々のファイルグループに作成しようとしたが、できなかった。たとえばこんな感じで表とプライマリーキーを作成したとする。

C:\>osql -S (local) -U sa -P mypass
1> USE master
2> GO
1> CREATE TABLE student_tbl
2> (
3>      enter_year      CHAR( 4 ) NOT NULL,
4>      id              CHAR( 8 ) NOT NULL,
5>      sex             CHAR( 1 ),
6>      phone   CHAR( 12 ),
7>      name    VARCHAR( 20 ),
8>      address VARCHAR( 80 )
9> ) ON STUDENTDB_MAIN;
10> GO
1> ALTER TABLE student_tbl
2> ADD CONSTRAINT pk_student_tbl
3> PRIMARY KEY
4> (
5>      enter_year,
6>      id
7> ) ON STUDENT_INDEX;
8> GO
1>

結果はどうなるか。実は、表もプライマリキーのインデックスも、両方STUDENT_INDEXファイルグループに作成されてしまう。

ALTER TABLE (Transact-SQL リファレンス)に記述がある。

PRIMARY KEY 制約または UNIQUE 制約のクラスタ化インデックスを追加しているときに ON が指定されると、クラスタ化インデックスが作成されるときに、テーブル全体が指定されたファイル グループに移動します。

トラックバック

このエントリーにトラックバック:
http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/208

コメント

コメントする

※ コメントスパム対策のため、コメント本文はおはよう、こんにちわ、こんばんわのいずれかより始めるようにしてください。

name:
email:

※ 必要ですが、表示しません。

url:
情報を保存する ?