• ベストアンサー

SQLSERVERで新しくデーターベースを作成する時

SQLSERVER2000 を使用しています。 新しくデータベースを作成すると テーブルがまだ1つも作っていないのに、 最初からあるテーブルがあります。 sysfiles sysfiles1 sysforeingkeys sysfulltextcatalogs sysindexes sysindexkeys sysmembers sysobjects などなど これらは何に使っているのですか? 全部必ずいないといけないものなのでしょうか? 削除したいんですけど。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

これらは「SQL SERVERがデータベースファイルの状態を保存しておく為のシステムテーブル」です。 「ユーザーが作成したテーブルが、まだ1つも無い」と言う情報なども、これらのテーブルに書き込まれています。 もちろん「ユーザーが作成したテーブルの名前は○○で、こういう構造をしていて、誰と誰がアクセス出来る」と言う情報を書き込む為のテーブルです。 また、個々のテーブル(データベース)へのアクセス権なども書き込まれます。 これらのシステムテーブルうち、1つでも破損すると(削除すると)データベースとして認識されなくなったり、作成した筈のテーブルが見えなくなったり、アクセス出来るユーザーが無くなったり(誰もアクセス出来なくなったり)と、致命的が障害が出るので、間違っても削除してはいけません。 これらを削除するのは「C:\WINDOWS\のすべてのファイルを削除する」のと同じ位に危険な行為です。

SEAMOON
質問者

お礼

とっても分かりやすい回答ありがとうございます。 なるほど~、って感じです。

関連するQ&A