Date: Sat, 21 Jul 2001 13:02:56 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、こんにちは
-----Original Message-----
From: masa [mailto:who@example.co.jp]
Sent: Friday, July 20, 2001 10:59 PM
To: who@example.ne.jp
Subject: [ml-msde:00733] Re: msde2000 がインストールできない
投稿記事の件名には、内容に相応しいものを付けてください。
件名を付け替えました。
>SQLServer(MSDE)でCREATE文を元にテーブルを作成した場合、
>何故か作成されたインデックスがクラスター化されてしまいます。
どのようなCREATE文を実行したのでしょうか?
このインデックスは、主キーに付けられたものなのか、それともそれ以外
の列に付けられたものなのか、これだけでは判断ができません。
少なくともSQLServerの仕様上では、クラスタ化の指示が無い時は
主キーをクラスタ化します。
この仕様とは異なる動作をしているのでしょうか?
>このことで、JET(Access2000)経由でODBC接続したテーブルに対する
>UPDATE文が途中で落ちるケースがあります。
ODBCのバージョンやAccessのバージョンなど、環境を同一にすれば
誰でも再現ができるのでしょうか?
このような情報を提供されるときは、その情報の受け手の人が確認できる
もの(SQL文やバージョンなど)を付けて提供しないと、情報の真偽を確認
することができません。
ぜひSQL文の提出と、Access側のUpdate文の提供をお願いします。
>...本当はCLUSTEREDとしてINDEXが作成されないSQL文の記述法を
>知っている人がいらっしゃったら、情報をお願いします。
情報を提供します。
SQLServerのブックスオンラインより。
[CREATE TABLE]の解説文の中の『PRIMARY KEY 制約』より
http://www.microsoft.com/japan/developer/library/tsqlref/ts_create2_8g9x.htm
テーブルに含めることができる PRIMARY KEY 制約は 1 つだけです。
PRIMARY KEY 制約によって生成されたインデックスが含まれていても
テーブル上のインデックスの数を、非クラスタ化インデックス 249 個
クラスタ化インデックス 1 個より多くすることはできません。
PRIMARY KEY 制約に対して CLUSTERED または NONCLUSTERED が
指定されていない場合は、UNIQUE 制約にクラスタ化インデックスが
指定されていなければ、CLUSTERED が使用されます。
[テーブル インデックス]の中にある見本プログラム
http://www.microsoft.com/japan/developer/library/architec/8_ar_da_5b1v.htm
USE pubs
GO
CREATE TABLE emp_sample
(emp_id int PRIMARY KEY CLUSTERED,
emp_name char(50),
emp_address char(50),
emp_title char(25) UNIQUE NONCLUSTERED )
GO
CREATE NONCLUSTERED INDEX sample_nonclust ON emp_sample(emp_name)
GO
---------------------------------------------------
(株)日本技術ソフト開発 堀川 明
mailto:who@example.ne.jp
mailto:who@sub.example.jp
http://www.horikawa.ne.jp/msde/
http://www.kt.rim.or.jp/~pwp/
07月21日(土曜日) 12時58分記
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|