sql server2008系統表詳細說明sys.開頭的表 sql server2008系統表詳細說明sys.開頭的表

sql server2008系統表詳細說明sys.開頭的表

1、庫裏有多少個表,表名等html

select * from INFORMATION_SCHEMA.TABLES

 

2、查詢表、字段、類型、是否主鍵、長度、小數位、是否容許空、默認值等詳細查詢sql

效果:數據庫

複製代碼
複製代碼
SELECT   
 (case when a.colorder=1 then d.name else '' end) as 表名,--若是表名相同就返回空  
     a.colorder as 字段序號,  
     a.name as 字段名,  
     (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) as 標識,  
     (case when (SELECT count(*) FROM sysobjects--查詢主鍵  
                     WHERE (name in  
                             (SELECT name FROM sysindexes   
                             WHERE (id = a.id)  AND (indid in  
                                     (SELECT indid FROM sysindexkeys  
                                       WHERE (id = a.id) AND (colid in  
                                         (SELECT colid FROM syscolumns  
                                         WHERE (id = a.id) AND (name = a.name))  
                         )))))   
         AND (xtype = 'PK'))>0 then '√' else '' end) as 主鍵,--查詢主鍵END  
 b.name as 類型,  
 a.length as 佔用字節數,  
 COLUMNPROPERTY(a.id,a.name,'PRECISION') as  長度,  
 isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小數位數,  
 (case when a.isnullable=1 then '√'else '' end) as 容許空,  
 isnull(e.text,'') as 默認值,  
 isnull(g.[value],'') AS 字段說明   
 FROM syscolumns a left join systypes b   
 on a.xtype=b.xusertype  
 inner join sysobjects d   
 on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'  
 left join syscomments e  
 on a.cdefault=e.id  
 left join sys.extended_properties g  
 on a.id=g.major_id AND a.colid = g.minor_id   
 order by a.id,a.colorder
 
複製代碼
複製代碼

 

3、系統表:express

sys.allocation_units 數據庫中的每一個分配單元都在表中佔一行。
sys.assembly_modules 爲公共語言運行時 (CLR) 程序集所定義的每一個函數、過程或觸發器返回一行。此目錄視圖將 CLR 存儲過程、CLR 觸發器或 CLR 函數映射到其基礎實現。類型爲 TA、AF、PC、FS 和 FT 的對象具備相關聯的程序集模塊。若要查找對象和程序集之間的關聯,能夠將此目錄視圖聯接到其餘目錄視圖。例如,在建立 CLR 存儲過程時,該存儲過程由 sys.objects 中的一行、sys.procedures(繼承自 sys.objects)中的一行以及 sys.assembly_modules 中的一行表示。該存儲過程自己由 sys.objects 和 sys.procedures 中的元數據表示。在 sys.assembly_modules 中能夠找到對該過程的基礎 CLR 實現的引用。
sys.check_constraints 每一個做爲 CHECK 約束的對象 (sys.objects.type = ‘C’) 均存在對應的一行。
sys.columns 爲包含列的對象(如視圖或表)的每列返回一行。下面是包含列的對象類型的列表。

 

  • 表值程序集函數 (FT)
  • 內聯表值 SQL 函數 (IF)
  • 內部表 (IT)
  • 系統表 (S)
  • 表值 SQL 函數 (TF)
  • 用戶表 (U)
  • 視圖 (V)
sys.computed_columns sys.columns 中的每一個計算列對應一行。
sys.default_constraints 做爲默認定義且 sys.objects.type = D 的每一個對象在表中各對應一行,該默認定義是做爲 CREATE TABLE 或 ALTER TABLE 語句的一部分建立的,而不是做爲 CREATE DEFAULT 語句的一部分建立的。
sys.events 致使觸發器或事件通知激發的每一個事件對應一行。這些事件表示在使用 CREATE TRIGGER 或 CREATE EVENT NOTIFICATION 建立觸發器或事件通知時所指定的事件類型。
sys.event_notifications 爲做爲事件通知的每一個對象返回一行,且 sys.objects.type = EN。
sys.extended_procedures 每一個做爲擴展存儲過程且 sys.objects.type = X 的對象對應一行。由於擴展存儲過程安裝在 master 數據庫中,它們只有在該數據庫上下文中才可見。從任何其餘數據庫上下文中的sys.extended_procedures 視圖中進行選擇,將返回空的結果集。
sys.foreign_key_columns 組成外鍵的每一列或列集在表中對應一行。
sys.foreign_keys 每一個做爲 FOREIGN KEY 約束而且 sys.object.type = F 的對象都在表中佔一行。
sys.function_order_columns 針對每列返回一行,該列是公共語言運行時 (CLR) 表值函數 ORDER 表達式的一部分。
sys.identity_columns 用做標識列的每列都在表中佔一行。
sys.index_columns 屬於 sys.indexes 索引或未排序的表(堆)的每一個列都對應一行。
sys.indexes 每一個表格對象(例如,表、視圖或表值函數)的索引或堆都包含一行。
sys.key_constraints 每一個做爲主鍵或惟一約束的對象對應一行。包括 sys.objects.type PK 和 UQ。
sys.numbered_procedure_parameters 帶編號過程的每一個參數都在表中對應一行。當您建立帶編號的存儲過程時,基過程的編號爲 1。全部後續過程的編號依次爲 二、3等。sys.numbered_procedure_parameters 包含全部後續過程(編號大於等於 2)的參數定義。該視圖不顯示基存儲過程(編號 = 1)的參數。基存儲過程相似於無編號的存儲過程。所以,它的參數表示在 sys.parameters (Transact-SQL) 中。
sys.numbered_procedures 每一個做爲帶編號的過程而建立的 SQL Server 存儲過程都佔一行。對於基(編號 = 1)存儲過程,它不顯示行。能夠在諸如 sys.objects 和 sys.procedures 之類的視圖中找到基存儲過程的項。
sys.objects 在數據庫中建立的每一個用戶定義的架構範圍內的對象在該表中均對應一行。
sys.parameters 接受參數的對象的每一個參數在表中對應一行。若是對象是標量函數,則另有一行說明返回值。該行將有一個值爲 0 的 parameter_id。
sys.partitions 數據庫中全部表和大多數類型的索引的每一個分區在表中各對應一行。Fulltext、Spatial 和 XML 之類的特殊索引類型在此視圖中不包括。SQL Server 2008 中全部表和索引都至少包含一個分區,不管它們是否已進行顯式分區均爲如此。
sys.procedures 於同類過程而且 sys.objects.type = P、X、RF 和 PC 的每一個對象對應一行。
sys.service_queues 數據庫中每一個做爲服務隊列的對象(sys.objects.type = SQ)都在表中對應一行。
sys.spatial_index_tessellations 表示有關每一個空間索引的分割方案和參數的信息。
sys.spatial_indexes 表示空間索引的主索引信息。
sys.sql_dependencies 對在定義另外一引用對象的 Transact-SQL 表達式或語句中引用的被引用的實體的每一依賴關係,均存在對應的一行。
sys.sql_expression_dependencies 當前數據庫中用戶定義實體的每一個按名稱依賴項在此表中均佔一行。當一個稱爲「被引用的實體」的實體按名稱顯示在另外一個稱爲「引用實體」的實體的持久化 SQL 表達式中時,將建立這兩個實體之間的依賴關係。例如,在視圖定義中引用表時,做爲引用實體的視圖將依賴於表這個被引用的實體。若是刪除該表,則該視圖不可用。您可使用此目錄視圖來報告如下實體的依賴關係信息:

 

  • 綁定到架構的實體。
  • 非綁定到架構的實體。
  • 跨數據庫和跨服務器的實體。報告了實體名稱;但實體 ID 還沒有解析。
  • 綁定到架構的實體的列級依賴關係。可使用 sys.dm_sql_referenced_entities 返回非綁定到架構的對象的列級依賴關係。
  • 服務器級別的 DDL 觸發器(在 master 數據庫的上下文中時)。
sys.sql_modules 對每一個 SQL 語言定義的模塊對象都返回一行。類型爲 P、RF、V、TR、FN、IF、TF 和 R 的對象均有關聯的 SQL 模塊。在此視圖中,獨立的默認值,即 D 類型的對象也具備 SQL 模塊定義。有關這些類型的說明,請參閱 sys.objects 目錄視圖中的類型列。
sys.stats U、V 或 TF 類型表格對象的每一個統計信息都對應一行。
sys.stats_columns sys.stats 統計信息包含的每列對應一行。
sys.synonyms 在該視圖中,sys.objects.type = SN 的每一個同義詞對象對應一行。
sys.table_types 顯示用戶定義表類型的屬性。表類型是指沒法從其中聲明表變量或表值參數的類型。每一個表類型都包含 type_table_object_id,它是指向sys.objects 目錄視圖的外鍵。此 ID 可用於查詢各類目錄視圖,查詢方式與常規表的 object_id 相似,以便發現表類型的結構,如表的列、約束等。
sys.tables 爲每一個表對象返回一行,當前僅用於 sys.objects.type = U 的表對象。
sys.trigger_event_types 爲能夠激發觸發器的每一個事件或事件組返回一行。
sys.trigger_events 觸發觸發器的每一個事件對應一行。
sys.triggers 每一個類型爲 TR 或 TA 的觸發器對象對應一行。DML 觸發器名稱在架構範圍內,所以,可在 sys.objects 中顯示。DDL 觸發器名稱的做用域取決於父實體,只能在此視圖中顯示。parent_class 和 name 列惟一標識了數據庫中的觸發器。
sys.views ys.objects.type = V 的每一個視圖對象在該表中對應一行。
相關文章
相關標籤/搜索