The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

Profiler for Microsoft SQL Server 2005 Express Edition

在開發資料庫應用的時候,我們常會使用 SQL Server Profiler 工具幫我們監控到底應用程式對資料庫下了什麼 SQL 指令,但是在 SQL Server 2005 Express 版本中並沒有提供 SQL Server Profiler 工具,只有 SQL Server 2005 標準版以上才有此工具,所以不是所有開發人員都能夠享受到 SQL Server Profiler 的強大功能。

今天發現一個不錯的 SQL Server Profiler 替代品:Profiler for Microsoft SQL Server 2005 Express Edition,竟然有免費的精簡版,而且還是 Open Source 的產品,真的是佛心來的。

你下載回來後無須安裝,直接點選 SqlExpressProfiler.exe 就可以開啟 SqlExpressProfiler 程式:

你下載回來後無須安裝,直接點選 SqlExpressProfiler.exe 就可以開啟 SqlExpressProfiler 程式

按下 New trace 按鈕後就會開啟 Trace Properties 視窗,並輸入資料��的連線資訊:

按下 New trace 按鈕後就會開啟 Trace Properties 視窗,並輸入資料庫的連線資訊

這時候還必須先勾選 Events 頁籤下的事件才能針對您勾選的事件進行追蹤(Profile),如果你要追蹤 Stored Procedure 與一般 T-SQL 語法的話,你可以勾選 RPCCompleted 與 SQLBatchCompleted 事件的 TextData 就好,選好之後按下右下角的 Run 按鈕就會開始進行 Profiling 了。

這時候還必須先勾選 Events 頁籤下的事件才能針對您勾選的事件進行追蹤(Profile),如果你要追蹤 Stored Procedure 與一般 T-SQL 語法的話,你可以勾選 RPCCompleted 與 SQLBatchCompleted 事件的 TextData 就好,選好之後按下右下角的 Run 按鈕就會開始進行 Profiling 了。

下圖就是進行 Profiling 後追蹤到的結果,圖中選取到的那一項就是我的應用程式透過 LINQ to SQL 查詢資料時最後在資料庫中查詢的 T-SQL 語法:

下圖就是進行 Profiling 後追蹤到的結果,圖中選取到的那一項就是我的應用程式透過 LINQ to SQL 查詢資料時最後在資料庫中查詢的 T-SQL 語法

相關連結

2008-05-26 更新

今天才發現原來在跑 Profiler for Microsoft SQL Server 2005 Express Edition 時,在 SQL Server 的 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data 目錄下會產生 *.trc 追蹤檔,這裡會紀錄所有應用程式對 SQL Server 操作的資料紀錄。如果累積太多硬碟可是會爆掉的,你可以在分析完追蹤檔案後刪除這些檔案。

如果你要分析這些檔案的話可以下以下指令:

[code:tsql] 

SELECT * 
FROM fn_trace_gettable('C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\master.mdf..2008.05.26.14.22.55.trc',default)
 ORDER BY starttime

[/code]