2008年6月13日 星期五

系統資料表System Table And 系統檢視表System View

管理員連線到SQL Server要取得系統上的各種系統資訊或組態設定或系統狀態最快的方式是透過系統資料表或系統檢視表,以下介紹幾個我常用的系統資料表或是系統檢視表能幫助管理員快速的得知系統狀況。

SQL Server 2000的System Table,
這些system table大部分都可以在SQL Server 2005上使用只不過在SQL 2005已改成同名的View並放在sys這個schema下,另外SQL Server 2005增加的許多功能更強大的動態管理檢視表,只要看到sys.dm_開頭的檢視表就是預設的動態管理檢視表,由於動態檢視表太多,有興趣的人請到下面這個微軟官方網站有詳細的說明文件
Dynamic Management Views and Functions


master資料庫有以下資料表或檢視表
列出所有資料庫
SELECT * FROM sysdatabases

列出所有登入帳戶
sysxlogins資料表(SQL 2000 only)
SELECT * FROM sysxlogins
sys.syslogins檢視表(SQL 2005 only)
SELECT * FROM sys.syslogins

列出目前連線到SQL Server的connection
SELECT * FROM sysprocesses

列出所有Server列如本機SQL Server,遠端的Link Server
SELECT * FROM sysservers

列出SQL Server Instance設定
SELECT * FROM sysconfigures
與執行sp_configure相同

各個資料庫底下都有以下系統資料表
當下連線資料庫所有物件的資料表,包含Table,View,Stored Procedure...等
SELECT * FROM sysobjects

當下連線資料庫所有資料表的欄位
SELECT * FROM syscolumns

sysindexes:當下
連線資料庫的所有Index
SELECT * FROM sysindexes

當下連線資料庫的資料檔與交易紀錄檔案資訊
SELECT * FROM sysfiles

當下連線資料庫的檔案群組
SELECT * FROM sysfilegroups

當下連線資料庫的使用者
SELECT * FROM sysusers

當下連線資料庫的使用者權限
SELECT * FROM syspermissions

沒有留言: