程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 全面掌握SQL Profiler系列2:快速使用(1)

全面掌握SQL Profiler系列2:快速使用(1)

編輯:關於SqlServer
本系列文章第1篇:原理與相關概念

本篇的議題如下:

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立刻就捕獲到了這個動作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved