sqlserver 檢視資料庫正在執行的命令

2022-01-13 07:03:54 字數 1171 閱讀 7661

在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...