本文介紹如何查看RDS SQL Server當前串連以及其執行的SQL。
通過SYSPROCESSES系統檢視表查看串連
Master.dbo.SYSPROCESSES視圖主要包括正在啟動並執行進程的相關資訊。使用者可以與Master.dbo.SYSDATABASES系統檢視表聯合尋找某個資料庫的所有串連。具體SQL如下:
SELECT * FROM
[Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT
[DBID]
FROM
[Master].[dbo].[SYSDATABASES]
WHERE
NAME='<資料庫名>'
)
執行上述查詢後,返回結果包含 SPID(進程ID)、STATUS(狀態,如 runnable、sleeping)、LOGINAME(登入名稱)、HOSTNAME(主機名稱)、DBID(資料庫ID)、CMD(當前執行的命令)等列。通過這些列可瞭解各串連的詳細資料。
通過sp_who查看串連會話和SQL
命令格式如下:
sp_who --查看所有的串連會話
sp_who '<使用者名稱>' --查看某個使用者的串連會話
執行 sp_who 後,返回結果包含 SPID(進程ID)、STATUS(狀態,如 background、sleeping)、LOGINNAME(登入名稱)、CMD(當前執行的命令,如 LOG WRITER、RECOVERY WRITER、LAZY WRITER、TASK MANAGER 等系統進程名稱)、REQUEST_ID 等列。通過 CMD 列可識別各串連會話正在執行的操作類型。