SQL Serverシステムテーブルsysobjectsの紹介
2407 ワード
Sysobjectsテーブルは、データベース内で作成された各オブジェクト(制約、デフォルト値、ログ、ルール、ストレージ・プロシージャなど)がテーブルの1行を占めます.tempdb内でのみ、各テンポラリ・オブジェクトがテーブルの1行を占めます.
Sysobjectsテーブル構造:
列名
データ型
説明
name
sysname
オブジェクト名、共通列
id
int
オブジェクトID番号
xtype
char(2)
オブジェクトタイプ.共通カラム.xtypeは、C=CHECK制約D=デフォルト、またはDEFAULT制約F=FOREIGN KEY制約L=ログFN=スカラー関数IF=インライン関数P=ストアド・プロシージャPK=PRIMARY KEY制約のいずれかのオブジェクト・タイプで使用できます.(タイプはK)RF=レプリケーションフィルタ記憶プロセスS=システムテーブルTF=テーブル関数TR=フリップフロップU=ユーザテーブルUQ=UNIQUE制約(タイプはK)V=ビューX=拡張記憶プロセス
uid
smallint
所有者ユーザーオブジェクト番号
info
smallint
保持します.内部使用のみ
status
int
保持します.内部使用のみ
base_schema_ ver
int
保持します.内部使用のみ
replinfo
int
保持します.レプリケーション用
parent_obj
int
親オブジェクトのオブジェクト識別番号(たとえば、トリガまたは制約の場合、この識別番号はテーブルID).
crdate
datetime
オブジェクトの作成日.
ftcatid
smallint
全文インデックスに登録されているすべてのユーザー・テーブルの全文ディレクトリ識別子は、登録されていないすべてのユーザー・テーブルに対して0です.
schema_ver
int
テーブルのスキーマが変更されるたびに増加するバージョン番号.
stats_schema_ ver
int
保持します.内部使用のみ.
type
char(2)
オブジェクトタイプ.C=CHECK制約D=デフォルトまたはDEFAULT制約F=FOREIGN KEY制約FN=スカラー関数IF=インラインテーブル関数K=PRIMARY KEYまたはUNIQUE制約L=ログP=ストレージプロセスR=ルールRF=レプリケーションフィルタリングストレージプロセスS=システムテーブルTF=テーブル関数TR=フリップフロップU=ユーザテーブルV=ビューX=拡張ストレージ程
userstat
smallint
保持します.
sysstat
smallint
内部ステータス情報
indexdel
smallint
保持
refdate
datetime
のままに
version
int
保持
deltrig
int
保持
instrig
int
保持
updtrig
int
保持
seltrig
int
保持
category
int
パブリッシュ、コンストレイント、ID用
cache
smallint
保持
次のコマンドを使用して、対象のすべてのオブジェクトをリストします.
データベースにテーブルが既に存在するかどうかを判断し、ある場合は削除します.
Sysobjectsテーブル構造:
列名
データ型
説明
name
sysname
オブジェクト名、共通列
id
int
オブジェクトID番号
xtype
char(2)
オブジェクトタイプ.共通カラム.xtypeは、C=CHECK制約D=デフォルト、またはDEFAULT制約F=FOREIGN KEY制約L=ログFN=スカラー関数IF=インライン関数P=ストアド・プロシージャPK=PRIMARY KEY制約のいずれかのオブジェクト・タイプで使用できます.(タイプはK)RF=レプリケーションフィルタ記憶プロセスS=システムテーブルTF=テーブル関数TR=フリップフロップU=ユーザテーブルUQ=UNIQUE制約(タイプはK)V=ビューX=拡張記憶プロセス
uid
smallint
所有者ユーザーオブジェクト番号
info
smallint
保持します.内部使用のみ
status
int
保持します.内部使用のみ
base_schema_ ver
int
保持します.内部使用のみ
replinfo
int
保持します.レプリケーション用
parent_obj
int
親オブジェクトのオブジェクト識別番号(たとえば、トリガまたは制約の場合、この識別番号はテーブルID).
crdate
datetime
オブジェクトの作成日.
ftcatid
smallint
全文インデックスに登録されているすべてのユーザー・テーブルの全文ディレクトリ識別子は、登録されていないすべてのユーザー・テーブルに対して0です.
schema_ver
int
テーブルのスキーマが変更されるたびに増加するバージョン番号.
stats_schema_ ver
int
保持します.内部使用のみ.
type
char(2)
オブジェクトタイプ.C=CHECK制約D=デフォルトまたはDEFAULT制約F=FOREIGN KEY制約FN=スカラー関数IF=インラインテーブル関数K=PRIMARY KEYまたはUNIQUE制約L=ログP=ストレージプロセスR=ルールRF=レプリケーションフィルタリングストレージプロセスS=システムテーブルTF=テーブル関数TR=フリップフロップU=ユーザテーブルV=ビューX=拡張ストレージ程
userstat
smallint
保持します.
sysstat
smallint
内部ステータス情報
indexdel
smallint
保持
refdate
datetime
のままに
version
int
保持
deltrig
int
保持
instrig
int
保持
updtrig
int
保持
seltrig
int
保持
category
int
パブリッシュ、コンストレイント、ID用
cache
smallint
保持
次のコマンドを使用して、対象のすべてのオブジェクトをリストします.
SELECT * FROM sysobjects WHERE xtype = -- : SELECT * FROM sysobjects WHERE xtype = 'V'
データベースにテーブルが既に存在するかどうかを判断し、ある場合は削除します.
-- :if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ ]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[ ]
-- :if exists (select * from sysobjects where id = object_id(N' ') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[ ]
-- :if(Exists(Select * From SysObjects Where xtype='U' And Name=' ')) drop table [dbo].[ ]