SQL Server 系統表簡介

2021-08-10 02:08:49 字數 1382 閱讀 6276

系統目錄是由描述sql server 系統的資料庫、基表、檢視和索引等物件的結構的系統表組成。sql server 經常訪問系統目錄,檢索系統正常執行所需的必要資訊。 

1. sysobjects表

sql server 的主系統表sysobjects出現在每個資料庫中,它對每個資料庫物件含有一行記錄。

2. syscolumns表

系統表syscolumns出現在master資料庫和每個使用者自定義的資料庫中,它對基表或者檢視的每個列和儲存過程中的每個引數含有一行記錄。

3. sysindexes表

系統表sysindexes出現在master資料庫和每個使用者自定義的資料庫中,它對每個索引和沒有聚簇索引的每個表含有一行記錄,它還對包括文字/影象資料的每個表含有一行記錄。 

4. sysusers表

系統表sysusers出現在master資料庫和每個使用者自定義的資料庫中,它對整個資料庫中的每個windows nt使用者、windows nt使用者組、sql server 使用者或者sql server 角色含有一行記錄。

5. sysdatabases表

系統表sysdatabases對sql server 系統上的每個系統資料庫和使用者自定義的資料庫含有一行記錄,它只出現在master資料庫中。

6. sysdepends表

系統表sysdepends對錶、檢視和儲存過程之間的每個依賴關係含有一行記錄,它出現在master資料庫和每個使用者自定義的資料庫中。

7. sysconstraints表

系統表sysconstraints對使用create table或者alter table語句為資料庫物件定義的每個完整性約束含有一行記錄,它出現在master資料庫和每個使用者自定義的資料庫中。

8.sys.tables

顯示出當前資料庫中的所有的表物件

9.sys.columns

顯示當前資料表中所有列

10.sys.types

顯示當前資料庫中的說有字段型別

使用例項

獲取某個表中的所有欄位的名稱和型別

select a.name as fieldname,b.type_desc,b.type,t.name as typename from sys.columns a

left join  sys.objects b on a.object_id=b.object_id  left join sys.types t on a.system_type_id=t.system_type_id 

where b.type = 'u' and  charindex('udt',t.name,0)<=0 and charindex('sys',t.name,0)<=0  and b.name ='cf_user'

其中b.type為型別,u表示是使用者表,v表示是檢視

sqlserver系統表作用

syscharsets 主資料庫 字符集與排序順序 sysconfigures 主資料庫 配置選項 syscurconfigs 主資料庫 當前配置選項 sysdatabases 主資料庫 伺服器中的資料庫 syslanguages 主資料庫 語言 syslogins 主資料庫 登陸帳號資訊 syso...

理解SQL Server系統表sysobjects

這就讓sysobjects 有了用武之地。雖然我不建議你更新這個 但是你當然有權對其進行審查。在大多數情況下,對你最有用的兩個列是sysobjects.name和sysobjects.xtype。前面乙個用來列出待考察物件的名字,而後乙個用來定義物件的型別,其 如下 c 檢查約束。d 預設的約束 f...

檢視sql server系統表資訊

select from sys.sysaltfiles 主資料庫儲存資料庫的檔案 select from sys.syscharsets 主資料庫字符集與排序順序 select from sys.sysconfigures 主資料庫配置選項 select from sys.sysconstraint...