在sql中有時候我們需要檢視現在正在sql server執行的命令。在分析管理器或者microsoft sql server management studio中,我們可以在"管理-sql server日誌-活動監視器"中檢視。今天我們主要利用master..sysprocesses系統表來檢視。
先看看sysprocesses系統表的相關資訊。
sysprocesses:存放有關在 microsoft sql server 例項中執行的程序的資訊,這些程序可以是客戶端程序或系統程序。
查詢示例:
select * from master..sysprocesses
我們看看查詢出來的列的含義。
因為該系統表的列數比較多,我們只講解比較有用的列含義。
spid--sql server程序的id。
kpid--microsoft windows執行緒的id。
dbid--當前正由程序使用的資料庫id。
uid--執行命令的使用者id。如果使用者數和角色數超過 32,767,則會溢位或返回 null。
cpu--程序的累計占用cpu的時間。
physical_io--程序的累計磁碟讀取和寫入。
memusage--當前分配給該程序的過程快取中的頁數。乙個負數,表示程序正在釋放由另乙個程序分配的記憶體。
login_time--客戶端程序登入到伺服器的時間。對於系統程序,將儲存 sql server的啟動時間。
last_batch--客戶端程序上次執行遠端儲存過程呼叫或execute語句的時間。對於系統程序,將儲存 sql server 的啟動時間。
open_tran--程序的開啟事務數。
status--程序id的狀態。例如,執行或者睡眠。
sid--使用者的全域性唯一識別符號 (guid)。
nt_username--程序的 windows 使用者名稱(如果使用 windows 身份驗證)或可信連線的 windows 使用者名稱。
loginame 執行該程序的登入名。
這樣,我們就可以查到所有執行命令的程序id了,如果要檢視該程序的具體的sql語句,可以利用以下語句檢視:
dbcc inputbuffer(程序號)
例如:dbcc inputbuffer(56)
如果我們要終止(殺死)該程序,可利用以下語句:
kill 程序號
例如:kill 70
SQL SERVER 檢視資料庫資訊
a.使用sys.database files檢視有關資料庫檔案的資訊 b.使用sys.filegroups檢視有關資料庫組的資訊。c.使用sys.master files 檢視資料庫檔案的基本資訊和狀態資訊。d.使用sys.databases 資料庫和檔案目錄檢視檢視有關資料庫的基本資訊。e.g.s...
檢視sqlserver資料庫結構的SQL語句
檢視sqlserver資料庫結構的sql語句 select 表名 case when a.colorder 1 then d.name else end,字段序號 a.colorder,欄位名 a.name,標識 case when columnproperty a.id,a.name,isiden...
檢視sql server資料庫各表占用空間大小
exec sp msforeachtable precommand n create table id int identity,表名 sysname,字段數 int,記錄數 int,保留空間 nvarchar 10 使用空間 varchar 10 索引使用空間 varchar 10 未用空間 va...