本篇的議題如下:
1. 如何配置權限
2. 啟動SQL Profiler
3. 介紹SQL Profiler 的GUI
4. 保存一個跟蹤
通過上一篇文章的講述,相信大家已經對SQL Profiler有了一個初步的了解,或者有些朋友已經開始磨拳擦掌,想躍躍欲試了。在開始使用SQL Profiler之前,有一些問題需要注意。
1. 不要隨意的在生產環境下(或者說:實際的數據庫工作的服務器環境)輕易的使用SQL Profiler,特別是在初學的時候。因為使用SQL Profiler會對服務器產生壓力,帶來一定的性能的影響,在初學的時候,不要拿正式的環境做實驗。
2. 最好在自己的本地搭建測試的數據庫,然後采用一些腳本或者工具來模擬對數據庫的使用。在後面的講解中,我會運行一些示例的SQL 腳本來模擬。
3. SQL Profiler是一個操作性比較強的工具,最好是跟著本系列中的示例,一個個的動手操作和體會。
理解如何配置權限
在SQL Server中,正如不是誰都可以創建表,試圖一樣,也不是誰都可以自由的運行SQL Profiler的。因為SQL Profiler在運行的過程中可以看到很多的與服務器以及客戶端相關的信息,所以要求運行這個工具的權限也很高。
在默認情況下,只有sa(SQL Server中的一個超級用戶)和在SYSADMIN組中的用戶可以運行SQL Profiler。在SQL Server 2005中,也可以通過用sa或者SYSADMIN用戶給其他用戶授權,從而使得其他的SQL Server用戶也可以有這個權限。授權的SQL 腳本如下圖2-1所示:
如上圖所示,我們可以將LoginID替換為我們想要授權的用戶名。
下面的一段腳本是收回這個授權的,如圖2-2所示:
啟動SQL Profiler
好,有了權限之後,我們就來好好的體驗一把!
可以通過很多的方式打開SQL Profiler。我這裡給大家介紹一下:
1. 使用命令行工具打開。步驟非常簡單,只要在CMD命令窗口輸入“profiler“,然後按下“回車”就行了。這裡需要注意的是,如果安裝的是SQL Server 2008,那麼就輸入“profiler”,如果安裝的是SQL Server 2005,那麼就輸入“profiler90”。
我個人喜歡使用命令行方法,快捷!
注:這裡非常抱歉,因為我所在的環境安裝的都是英文版的操作系統與軟件,所以很多的時候,一些界面會以英文的形式顯示,希望朋友們見諒!
2. 直接在SQL Server Management Studio的菜單中打開,如圖2-3所示:
不管用什麼方式,打開SQL Profiler之後,就看到如下的界面,如圖2-4所示:
然後,在菜單“File”中選擇“New Trace”,如圖2-5所示:
當我們選擇了“New Trace”(創建新跟蹤)之後,就會彈出如下的界面,如圖2-6所示:
使用合法的身份驗證方式進入之後,就會看到選擇要跟蹤的事件的界面,如圖2-7所示:
在這個界面中,包含了兩個選項卡,一個是“General”,另外一個是“Events Selection”。這裡我們很有必要對界面中做一些簡單的介紹。
在“General”選項卡中,我們可以對跟蹤進行命名,還可以選擇不同的模板,並且還可以設置很多不同的選項。
其中,Trace Provider name就是指的我們要跟蹤的SQL Server的實例名;Trace provide type,指的就是數據庫的版本名,而version就是版本的數字表示。
在這裡,比較重要的一個選擇就是“Use the template”,如圖2-8所示:
在這裡可以選擇一個跟蹤的模板,不同的模板,功能不一樣,並且模板中事件,數據列,過濾器等都不一樣!每一種模板的用處,我們會在後續文章講述。
另外,在““Events Selection選項卡”中,選擇我們要跟蹤的事件,如圖2-9所示:
這裡出於體驗的目的,我們將一切都保持默認!
下面,我們就開始啟動SQL Profiler去監控數據庫中發生的活動:點擊“Run”按鈕,如圖2-10所示:
那麼啟動之後,因為這個時候SQL Profiler是對整個SQL Server實例進行監控的,也就是說,在SQL Server中的任意一個數據庫發生了任何的活動,都會被SQL Profiler捕獲到(當然,如果設置了過濾器就例外了)。
為了使得效果明顯,我這裡運行一些腳本,對數據庫進行一些操作,起到模擬的作用。我們看到下面的一個效果圖2-11所示:
從圖中可以看到,我在SQL Server運行一個查詢,這個時候SQL Profiler立刻就捕獲到了這個動作。