iT邦幫忙

0

多使用者的情況下要怎麼監控 MS SQL 的情況?

小弟公司是將 IIS 跟 MS SQL 分開放置
老實說我對 DB 真的不熟
不過小公司,基本上一個人就全都管
從 Linux 、MySQL、Windows、MS SQL
或許不深但是範圍廣到想吐血

最近 MS SQL 主機在監控的時候有點異常
16G 的 RAM 佔用約 11G(SQL佔用約 10G)
然後 CPU 處理有時候會突然攀升在掉下來

感覺上像是有人在大量存取資料庫的跡象
(寫入、查詢)
由於 SQL 不像 IIS 在工作管理員或是資源監視器中可以直接看到後面帶的使用者 ID
不知道有沒有哪位可以指點一下要怎麼搜尋目前有那個資料庫在執行大量操作?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
暐翰
iT邦大師 1 級 ‧ 2018-05-04 12:33:53

...看到後面帶的使用者 ID...要怎麼搜尋目前有那個資料庫在執行大量操作?

可以使用SQL Server Profiler加上ClinetProcessID跟SPID監控使用者

簡單使用方式可以參考之前寫的文章:
MSSQL工作小經驗 #2:ClientProcessID跟SPID來追蹤SQL

深入可以看
SQL Server Profiler

看更多先前的回應...收起先前的回應...
sanbis iT邦新手 3 級 ‧ 2018-05-04 13:06:49 檢舉

非常感激回覆~
不過看過文章以後這邊有點問題
第一種情況下我不知道怎麼執行這個 SQL 查詢功能~Orz
(我只會用 SQL Server Management Studio 幫忙匯出一些資料還有還原備份而已~Orz)

第二種情況中查詢的「獨特的值」這是什麼?

暐翰 iT邦大師 1 級 ‧ 2018-05-04 13:33:10 檢舉

第一種情況下我不知道怎麼執行這個 SQL 查詢功能~Orz

在SQL Server Management Studio工具欄裡面



假如0基礎可以看這個影片
https://www.youtube.com/watch?v=_yora7E8xVc

第二種情況中查詢的「獨特的值」這是什麼?

這個在你的案例中不適合,這適用在你想查某隻程式下的SQL Script,而你想找出所有使用者

但可以讓你了解SPID是每個連線獨特的SID,所以可以拿它來查詢是哪個程式、使用者再亂搞或是效能有問題

sanbis iT邦新手 3 級 ‧ 2018-05-08 16:30:13 檢舉

感激指點~
找時間來研究一下影片

sanbis iT邦新手 3 級 ‧ 2018-05-21 14:49:01 檢舉

看完以後腦袋還是一團漿糊
這支影片裡雖然有大概提到怎麼使用SQL profiler
但是到底怎麼設定還是搞不懂
後面用的一些設定還是 2012 開始才有的東西~
但是我用的是 2008~囧

我要發表回答

立即登入回答