主キーを別のファイルグループに作成したくても・・・
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
コメント