天天看點

查找 SQL Server 中SQL活動連接配接

作者:雪竹頻道

一、概述

有多種方法可以找到 SQL Server 的活動 SQL 連接配接。本文分享一下幾種常見的方法。

二、解決方案

2.1 SP_WHO

SP_WHO 作為查找 SQL Server 上運作的活動 SQL 連接配接的方法。SP_WHO 将列出最少的列,但卻是列出活動連接配接的快速方法。特别是當SQL Server上有阻塞時,可以找到阻塞和被阻塞的程序。

sp_who           
查找 SQL Server 中SQL活動連接配接

2.2 SP_WHO2

sp_who2           

SP_WHO還有一個進階版本,叫做SP_WHO2。它比 SP_WHO 有更多的列,如 CPUTime、DiskIO、ProgramName 等……這些列為我們提供了有關 SQL 連接配接性質的更多詳細資訊。

查找 SQL Server 中SQL活動連接配接

2.3 SYS.SYSPROCESSES

查找活動 SQL 連接配接的另一個好方法是使用系統相容性視圖 SYS.SYSPROCESSES。該視圖有很多列,其中包含大量資訊,有助于您找出活動的 sql 連接配接,特别是當您想要查找阻塞的程序時。然而,這是向後相容的一個視圖。是以,不要使用 SYS.SYSPROCESSES,建議使用我下面的介紹的系統視圖 SYS.DM_EXEC_SESSIONS。

查找 SQL Server 中SQL活動連接配接

2.4 SYS.DM_EXEC_SESSIONS

SYS.DM_EXEC_SESSIONS 是動态管理視圖之一,它取代了舊的系統表 sysprocesses。SYS.DM_EXEC_SESSIONS 的優點是它的列is_user_process。使用此列,您可以輕松過濾掉系統程序。

SELECT is_user_process, * FROM SYS.DM_EXEC_SESSIONS

/* To list down only the user processes */

SELECT * FROM SYS.DM_EXEC_SESSIONS where is_user_process = 1           

繼續閱讀