一、概念
1. sql跟蹤(sql trace)
sql server 的底層有乙個事件子系統,稱為sql trace。dba可能通過這個事件子系統捕捉與sql server例項中可能發生的200多個事件有關的資訊。
sql server profiler是乙個圖形化工具,提供了sql trace子系統最常用的介面。sql server 提供 transact-sql 系統儲存過程來建立對 sql server 資料庫引擎例項的跟蹤。 可以不使用 sql server profiler,而使用這些系統儲存過程從您自己的應用程式中手動建立跟蹤。 這樣,您就可以針對企業的特定需求編寫自定義應用程式。
在 sql 跟蹤中,如果事件是在跟蹤定義中列出的事件類的例項,則收集這些事件。 可以將這些事件從跟蹤中篩選出來或為其目標進行排隊。 目標可以是檔案或 sql server 管理物件 (smo),它可以使用管理 sql server 的應用程式中的跟蹤資訊。
2. sql 跟蹤結構
事件源可以是生成跟蹤事件(例如 transact-sql 批處理)或 sql server 事件(例如死鎖)的任何源。 有關事件的詳細資訊,請參閱 sql server 事件類參考。 事件發生後,如果該事件類已經包含在跟蹤定義中,則跟蹤將收集該事件資訊。 如果已經在跟蹤定義中為該事件類定義篩選器,則將應用這些篩選器並將跟蹤事件資訊傳遞到佇列。 從佇列中,跟蹤資訊或者被寫入檔案,或者由應用程式(例如 sql server profiler)中的 smo 使用。
以下關係圖顯示了在跟蹤期間 sql 跟蹤如何收集事件。
二、使用sql跟蹤的方法
通過系統儲存過程進行跟蹤的過程如下:
(1)使用 sp_trace_create 建立跟蹤。為儲存過程 sp_trace_create 的 @tracefile 引數指定路徑和檔名後,sql server 將跟蹤結果儲存到檔案中。
(2)使用 sp_trace_setevent 新增事件。
(3)使用 sp_trace_setfilter 設定篩選器(可選)
(4)使用 sp_trace_setstatus 啟動跟蹤。
(5)使用 sp_trace_setstatus 停止跟蹤。
(6)使用 sp_trace_setstatus 關閉跟蹤。
sql跟蹤可以通過儲存過程建立對資料庫例項的跟蹤。你可以針對特定的需求在自定義的應用程式中手動建立跟蹤。
學習隨記3 SQL複習
dml 資料操作語言 ddl 資料定義語言 select 獲取資料 update 更新資料 delete 從資料表中刪除資料 insert into 插入資料 select distinct 列 from 表 返回唯一不同的值 select 列 from 表 where 列 運算子 值 篩選 ord...
3 sql 表的連線
摘自 表連線分為 cross join innert join outer join self join。一 cross join 交叉連線 cross join連線用於生成兩張表的笛卡爾集。1 返回的記錄數為兩個表的記錄數乘積。比如,a表有n條記錄,b表有m條記錄,則返回n m條記錄。2 將a表的...
五 效能監視(4)擴充套件事件
一 擴充套件事件 extended events,簡稱xe sql server 2008提供了一種新的方法,用來診斷故障和捕獲內部資訊。與其它跟蹤技術相比,擴充套件事件的優勢在於 1.擴充套件事件位於sql server的總體層中,因此它能與各級sql server主機進行互動。2.擴充套件事件是...