天天看點

綠色SQL Server原理(13)枚舉SQLServer資料庫内部對象

每個資料庫中有一個sysobjects表來存放資料庫内的對象。  

在資料庫内建立的每個對象(限制、預設值、日志、規則、存儲過程等)在表中占一行。隻有在  tempdb  内,每個臨時對象才在該表中占一行。  

列名  資料類型  描述    

name  sysname  對象名。    

Id  int  對象辨別号。    

xtype  char(2)  對象類型。可以是下列對象類型中的一種:    

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  =  擴充存儲過程  

如果要枚舉使用者表,隻要執行SQL語句:

select * from sysobjects where xtype='U'

如果枚舉系統表,隻要執行SQL語句:

select * from sysobjects where xtype='S'

其它對象依此類推。