當前位置:首頁 » 編程語言 » sql跟蹤單個客戶端
擴展閱讀
wifi有叉 2022-06-27 19:03:53

sql跟蹤單個客戶端

發布時間: 2022-06-23 15:10:44

㈠ 怎樣對某個客戶端做sql跟蹤

採用sqlprofiler,可以監控指定客戶端的哦
請採納!

㈡ 如何通過跟蹤客戶端程序發出的sql的方法來優化SQL

1. 識別要跟蹤的客戶端程序到資料庫的連接(後面都用session代替),主要找出能唯一識別一個session的sid與serial#。
2. 設定相應的參數,如打開時間開關(可以知道一個sql執行了多長時間),存放跟蹤數據的文件的位置、最大值。
3. 啟動跟蹤功能。
4. 讓系統運行一段時間,以便可以收集到跟蹤數據。
5. 關閉跟蹤功能。
6. 格式化跟蹤數據,得到我們易於理解的跟蹤結果。
http://blog.csdn.net/yu422560654/article/details/44121027

㈢ 在sqlserver2008用sql監視器 怎麼監視客戶端應用程序的sql語句

打開2008的事件探查器,工具欄有個按鈕,新建跟蹤,然後連好你要跟蹤的資料庫實例,確定即可新建跟蹤,就可以查看鏈接這個資料庫實例的語句執行,創建完跟蹤之後
每一個客戶端都有一個ClientProcessID,如果你只想跟蹤這一個客戶端的語句執行情況的話:
先讓客戶端查詢一個報表,通過事件探查器看看它的ClientProcessID,然後暫停事件探查,
文件——屬性——篩選——在下面找到ClientProcessID,在等於處雙擊,然後填入客戶端的ClientProcessID,確定,重新開啟追中,就可以只看這一個客戶端的運行情況了

㈣ 如何截獲提交道SQLServer伺服器上的SQL語句

打開
"開始"-"所有程序"-"Microsoft SQL Server"-"事件探查器"
打開程序之後點菜單欄的
"文件"-"新建"-"跟蹤"
然後執行你要看SQL語句的程序.事件探查器就會把該時間段內所有執行的SQL語句列出來.

相關知識如下:
使用 SQL 事件探查器進行監視
SQL 事件探查器是圖形工具,使系統管理員得以監視 Microsoft® SQL Server™ 實例中的事件。可以捕獲有關每個事件的數據並將其保存到文件或 SQL Server 表中供以後分析。例如,可以對生產環境進行監視,了解執行速度太慢而妨礙性能的存儲過程。

使用 SQL 事件探查器只監視感興趣的事件。如果跟蹤變得太大,可以基於需要的信息進行篩選,以便只收集事件數據的子集。監視太多事件類會增加伺服器和監視進程的開銷,並且可能導致跟蹤文件或跟蹤表變得很大,尤其是在進行長時間監視時。

在跟蹤事件後,SQL 事件探查器允許重播在 SQL Server 實例上捕獲的事件數據,因此可以如事件當初發生時一樣有效地重新執行保存的事件。

使用 SQL 事件探查器可以:

監視 SQL Server 實例的性能。

調試 Transact-SQL 語句和存儲過程。

識別執行慢的查詢。

在工程開發階段,通過單步執行語句測試 SQL 語句和存儲過程,以確認代碼按預期運行。

通過捕獲生產系統中的事件並在測試系統中重播它們來解決 SQL Server 中的問題。這對測試和調試很有用,並使得用戶可以不受干擾地繼續使用生產系統。

審核和復查在 SQL Server 實例中發生的活動。這使得安全管理員得以復查任何審核事件,包括登錄嘗試的成功與失敗,以及訪問語句和對象的許可權成功與失敗。
SQL 事件探查器為用於監視 SQL Server 實例的一組存儲過程提供圖形用戶界面。例如,可以創建您自己的應用程序,以便使用 SQL 事件探查器存儲過程監視 SQL Server。

必須有至少 10 MB 的可用空間用以運行 SQL 事件探查器。當使用 SQL 事件探查器時,如果可用空間降至 10 MB 以下,SQL 事件探查器的所有功能都將停止。

SQL 事件探查器術語
若要使用 SQL 事件探查器,需要了解描述工具功能的術語。例如,創建模板來定義要收集的數據。通過在模板中所定義的事件上運行跟蹤來收集這些數據。當運行跟蹤時,描述事件數據的事件類和數據列顯示在 SQL 事件探查器中。

模板
模板定義想要使用 SQL 事件探查器監視的每個事件的准則。例如,可以創建一個模板以指定使用哪些事件、數據列和篩選。然後可以保存該模板,並用當前的模板設置啟動跟蹤。捕獲的跟蹤數據基於模板中指定的選項。模板不執行且必須用 .tdf 擴展名保存到文件。

跟蹤
跟蹤基於選定的事件、數據列和篩選捕獲數據。例如,可創建模板監視異常錯誤。為此,應選擇跟蹤 Exception 事件類以及 Error、State 和 Severity 數據列,這些都是為了使跟蹤結果提供有意義的數據而需收集的。保存模板後,便可將其作為跟蹤運行,並且可收集關於伺服器中發生的任何 Exception 事件的數據。可保存此跟蹤數據,然後稍後重播或立即用於分析。

篩選

當創建跟蹤或模板時,可以定義篩選由事件收集的數據的准則。如果跟蹤變得太大,可以基於想要的信息進行篩選,以便只收集事件數據的子集。如果沒有設置篩選,跟蹤輸出中將返回選定事件類的所有事件。例如,可以將跟蹤中的 Microsoft Windows® 2000 用戶名限制為特定用戶,以將輸出數據減少到感興趣的那些用戶。
事件分類
事件分類定義事件的分組方法。例如,所有鎖事件類都在鎖事件分類內分組。但是,事件分類只存在於 SQL 事件探查器中。該術語不反映引擎事件的分組方法。

事件
事件是在 Microsoft® SQL Server™ 引擎中生成的操作。例如:

登錄連接、失敗和斷開。

Transact-SQL SELECT、INSERT、UPDATE 和 DELETE 語句。

遠程過程調用 (RPC) 批處理狀態。

存儲過程的開始或結束。

存儲過程內的語句的開始或結束。

SQL 批處理的開始或結束。

寫入 SQL Server 錯誤日誌的錯誤。

在資料庫對象上獲取或釋放的鎖。

打開的游標。

安全許可權檢查。
由事件生成的所有數據顯示在單個行中的跟蹤內 。該行包含詳細描述事件的數據列,稱為事件類。

事件類
事件類是描述由伺服器生成的事件的列。事件類確定收集的數據類型,因此並不是所有數據列都適用於所有事件類。事件類示例包括:

SQL:BatchCompleted,表示已完成 SQL 批處理。

運行客戶端的計算機的名稱。

受事件影響的對象 ID(如表名)。

發出語句的用戶的 SQL Server 名稱。

正在執行的 Transact-SQL 語句文本或存儲過程文本。

事件開始和結束的時間。
數據列
數據列描述為跟蹤內捕獲的每個事件類所收集的數據。事件類確定收集的數據類型,因此並不是所有數據列都適用於所有事件類。例如,為 Lock:Acquired 事件類捕獲 Binary Data 數據列時,該數據列包含鎖定的頁 ID 或行的值,但沒有 Integer Data 事件類的值。對於所有事件類,默認數據列均為自動填充。

㈤ 如何通過跟蹤一個客戶端程序發出的sql的方法來優化SQL

1、啟動Profiler,
2、創建一個跟蹤
3、設置好過濾規則(主機=這個客戶端程序名)

㈥ 請教:sqlserver2000下如何跟蹤某一個客戶機的sql語句

可以使用查找的方法來找相應的SQL語句,跟蹤某一客戶端的操作記錄,在新建一個跟蹤的跟蹤屬性中可以設置相關的篩選項目

㈦ sql profiler 怎麼跟蹤指定客戶端

可以使用 SQL Server Profiler 查看跟蹤中捕獲的事件數據。SQL Server Profiler 顯示基於定義的跟蹤屬性的數據。分析 SQL Server 數據的一種方式是將數據復制到其他程序中,例如 SQL Server 或資料庫引擎優化顧問。如果跟蹤中包括「文本」數據列,則資料庫引擎優化顧問可以使用包含 SQL 批處理和遠程過程調用 (RPC) 事件的跟蹤文件。為了確保捕獲正確的事件和列以便與資料庫引擎優化顧問一起使用,請使用隨 SQL Server Profiler一起提供的預定義優化模板。
使用 SQL Server Profiler打開跟蹤時,如果跟蹤文件是由 SQL Server Profiler或 SQL 跟蹤系統存儲過程創建的,則該文件不需要帶 .trc 文件擴展名。

注意

SQL Server Profiler還可以讀取 SQL 跟蹤 .log 文件和通用 SQL 腳本文件。打開不帶 .log 文件擴展名的 SQL 跟蹤 .log 文件(例如 trace.txt)時,應將文件格式指定為 SQLTrace_Log。

您可以配置 SQL Server Profiler日期和時間顯示格式以便有助於跟蹤分析。

排除數據故障

使用 SQL Server Profiler時,您可以按「持續時間」、CPU、「讀」或「寫」數據列將跟蹤或跟蹤文件分組來排除數據故障。例如,您可以對性能差的查詢或邏輯讀取操作數特別高的查詢進行數據故障排除。
通過將跟蹤保存至表和使用 Transact-SQL 查詢事件數據,可以找到其他信息。例如,若要確定哪些 SQL:BatchCompleted 事件的等待時間過長,可執行:
SELECT TextData, Duration, CPU
FROM trace_table_name
WHERE EventClass = 12 -- SQL:BatchCompleted events
AND CPU < (Duration * 1000)

注意

伺服器以微秒(百萬分之一秒或 10-6 秒)為單位報告事件的持續時間,以毫秒(千分之一秒或 10-3 秒)為單位報告事件使用的 CPU 時間。SQL Server Profiler 圖形用戶界面默認以毫秒為單位顯示「持續時間」列,但是當跟蹤保存到文件或資料庫表中時,將以微秒為單位寫入「持續時間」列值。

查看跟蹤時顯示對象名稱

如果您要顯示對象名稱而不是對象標識符(對象 ID),必須捕獲「伺服器名稱」和「資料庫 ID」數據列以及「對象名稱」數據列。
如果您選擇按「對象 ID」數據列分組,請確保先按「伺服器名稱」和「資料庫 ID」數據列分組,然後按「對象 ID」數據列分組。同樣,如果您選擇按「索引 ID」數據列分組,請確保先按「伺服器名稱」、「資料庫 ID」和「對象 ID」數據列分組,然後按「索引 ID」數據列分組。您必須按照此順序分組,因為對象 ID 和索引 ID 在伺服器和資料庫之間並不是唯一的,而索引 ID 甚至在各對象之間都不是唯一的。

查找跟蹤內的特定事件

若要查找跟蹤中的事件並對事件進行分組,請按下列步驟執行操作:
創建跟蹤。
定義跟蹤時,除了要捕獲的任何其他數據列外,還要捕獲「事件類」、ClientProcessID 和「開始時間」數據列。有關詳細信息,請參閱創建跟蹤 (SQL Server Profiler)。
按「事件類」數據列將捕獲的數據分組,並將跟蹤捕獲至文件或表。若要將捕獲的數據分組,請單擊「跟蹤屬性」對話框中「事件選擇」選項卡中的「組織列」。有關詳細信息,請參閱組織跟蹤中顯示的列 (SQL Server Profiler)。
開始跟蹤,並在經過適當時間或捕獲了一定數量的事件後停止。
查找目標事件。
打開跟蹤文件或表,並展開所需事件類的節點,例如,Deadlock Chain。有關詳細信息,請參閱打開跟蹤文件 (SQL Server Profiler)或打開跟蹤表 (SQL Server Profiler)。
在跟蹤數據中搜索直到找到所需的事件(使用 SQL Server Profiler的「編輯」菜單上的「查找」命令幫助查找跟蹤中的值)。記錄所跟蹤事件的 ClientProcessID 和「開始時間」數據列中的值。
在上下文中顯示事件。
顯示跟蹤屬性,並按 ClientProcessID 數據列分組而不是按「事件類」數據列分組。
展開要查看的每個客戶端進程 ID 的節點。手動搜索整個跟蹤,或使用「查找」直到找到目標事件先前標記的「開始時間」值。這些事件與屬於每個選定客戶端進程 ID 的其他事件一起按時間順序進行顯示。例如,跟蹤內捕獲的「死鎖」和「死鎖鏈」事件在展開的客戶端進程 ID 內緊跟在「SQL:BatchStarting」事件之後顯示。