- - PR -
sysdatabases テーブル
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-07 15:42
いつもお世話になっております。
MSDE を使っています。 master DB の sysdatabases テーブルについて質問させてください。 Drop database で削除したデータベースと同じ名前で Create database すると、カラム dbid が、drop した時の dbid と同じになりますが、これは、そういう仕組みなのでしょうか? drop database した後に同じ名前でデータベースを作成すれば、drop したDBをデフォルトDBとしていたログインユーザは、何もしなくても同じ名前のDBがデフォルトDBになるのでしょうか? 何卒よろしくお願いいたします。 | ||||||||
|
投稿日時: 2005-03-07 16:00
今日は。
単純にデータベースのIDですから、削除して作ってってやったって、 空いている次の番号が振られるだけですよね? たとえば違うデータベースを作って、その後に作ったりすればdbidは変わりますが。
ログイン名ととデフォルトのデータベースの関係を持っているのは sysxloginsテーブルです。 ユーザを持っているのは sysusersテーブルです。 当然sysxloginsテーブルにdbidが関連づけられていますから dbidが変わったら変わっちゃいますし、そうでなければ変わらないはずです。 [ メッセージ編集済み 編集者: NAO 編集日時 2005-03-07 16:04 ] | ||||||||
|
投稿日時: 2005-03-07 16:50
NAO さま
早速の回答ありがとうございます。
たとえば、sysobjects テーブルが、 dbid name 1 master 2 tempdb 3 model 4 msdb 5 DB_A 6 DB_B の場合、 drop database DB_A をすると、dbid=5 が空き番になりますが、次に作られるDB は、空き番(この場合、dbid=5)が割り付けられるということでしょうか? たびたび申し訳ございませんが、よろしくお願い致します。 | ||||||||
|
投稿日時: 2005-03-07 16:55
自分で実験してみれば解ると思いますが…
そうなりますよ _________________ Inspired Ambitious ISMS Assistant Auditor | ||||||||
|
投稿日時: 2005-03-07 17:07
NAO さま
ご回答ありがとうございます。
確かに私の環境では、空き番のidが割り付けられます。 そのようなことが明記されている文章を見つけることができなかったため 質問させていただきました。 丁寧なご回答、本当にありがとうございました。助かりました。 ありがとうございました。 | ||||||||
|
投稿日時: 2005-03-07 17:13
補足
DBMSで環境によって動作が変わるなんて事はあり得ませんので。 (idとデータベースの関係は、当然それぞれの環境で変わりますけどね) ※あくまで一般論です。 _________________ Inspired Ambitious [ メッセージ編集済み 編集者: NAO 編集日時 2005-03-07 17:14 ] | ||||||||
1
