系統目錄是由描述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...