mssql 系統資訊

2021-07-26 21:27:05 字數 2224 閱讀 3284

儲存sql所有的系統資訊。儲存有關資料庫服務中的元資料所謂元資料即(比如資料伺服器有哪些使用者資料庫、

資料庫伺服器有哪些登陸賬號,資料庫中都有哪些表,每個表都有哪些字段 每個資料庫有哪些儲存過程、檢視等等的資料),

系統表一般sys開頭。

任何使用者都不應直接更改系統表。 例如,不要嘗試使用 delete、update、insert 語句或使用者定義的觸發器修改系統表。

若要檢索儲存在系統表中的資訊,應用程式應使用下列元件之一:

系統儲存過程

transact-sql 語句和函式

sql server 管理物件 (smo)

複製管理物件 (rmo)

資料庫 api 目錄函式

幾個重要的系統表

一、master.dbo.sysdatabases系統表:

microsoft sql server 上的每個資料庫在表中佔一行。

最初安裝 sql server 時,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 資料庫的項。

關鍵字段:

name :庫的名字;

dbid :庫的id,dbid從1到5是系統的。分別是:master、model、msdb、mssqlweb、tempdb 這五個庫。

select * from master.dbo.sysdatabases 就可以查詢出所有的庫名。

二、sysobjects:(以前的部落格有對此表的介紹)

sql-server的每個資料庫內都有此系統表,它存放該資料庫內建立的所有物件,如約束、預設值、日誌、規則、儲存過程等。

關鍵字段

name:物件名稱

id:物件id

xtype(type):物件型別

uid:所有者物件使用者id

status:物件狀態。

物件型別(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 = 擴充套件儲存過程 

當xtype='u' and status>0代表是使用者建立的表,物件名就是表名,物件id就是表的id值(object_id(『表名』))。

select * from wyl_db.dbo.sysobjects where xtype='u' and status>0 就可以列出庫wyl_db中所有的使用者建立的表名。

三、syscolumns :

每個表和檢視中的每列在表中佔一行,儲存過程中的每個引數在表中也佔一行。該錶位於每個資料庫中。

關鍵字段有:

name :欄位名稱

id:表的id號

colid :欄位id號。

其中的 id 是 剛上我們用sysobjects得到的表的id號。

select name from wyl_db.dbo.syscolumns where id=object_id('表名'): 獲得wyl_db.dbo.syscolumns某個表中的字段

其他系統表

sysaltfiles 儲存資料庫的檔案 

syscharsets 字符集與排序順序 

sysconfigures 配置選項 

syscurconfigs 當前配置選項 

syslanguages 語言 

syslogins 登陸帳號資訊 

sysoledbusers 鏈結伺服器登陸資訊 

sysprocesses 程序 

sysremotelogins 遠端登入帳號 

sysconstrains 限制 

sysfilegroups 檔案組 

sysfiles 檔案 

sysforeignkeys 外部關鍵字 

sysindexs 索引 

sysmenbers 角色成員 

syspermissions 許可權 

systypes 使用者定義資料型別 

sysusers 使用者

MsSql檢視鎖資訊

檢視鎖資訊 create table t req spid int,obj name sysname declare s nvarchar 4000 rid int,dbname sysname,id int,objname sysname declare tb cursor for select ...

mssql 系統變數

全域性變數 select version as 版本 返回當前資料庫的版本資訊 select error as 錯誤id 返回上一次trian sql的錯誤id,如果正常執行了查詢,error為0,出錯時error一定大於0,可用於事務中 select identity as 標示符 返回最後一次的...

MS Sql新增描述資訊 及其他資訊

查詢某個表的描述 select from fn listextendedproperty null,user dbo table 表名 null,null 查詢所有表的描述資訊 select from fn listextendedproperty null,user dbo table null,...