SQL TRACE

来源:http://www.cnblogs.com/double-K/archive/2016/01/20/5146943.html
-Advertisement-
Play Games

在 SQL 跟蹤中,如果事件是在跟蹤定義中列出的事件類的實例,則收集這些事件。可以將這些事件從跟蹤中篩選出來或為其目標進行排隊。目標可以是文件或 SQL Server 管理對象 (SMO),它可以使用管理 SQL Server 的應用程式中的跟蹤信息。SQL 跟蹤的優點 Microsoft S...


  在 SQL 跟蹤中,如果事件是在跟蹤定義中列出的事件類的實例,則收集這些事件。可以將這些事件從跟蹤中篩選出來或為其目標進行排隊。目標可以是文件或 SQL Server 管理對象 (SMO),它可以使用管理 SQL Server 的應用程式中的跟蹤信息。

SQL 跟蹤的優點

  Microsoft SQL Server 提供 Transact-SQL 系統存儲過程來創建對 SQL Server 資料庫引擎實例的跟蹤。可以不使用 SQL Server Profiler,而使用這些系統存儲過程從您自己的應用程式中手動創建跟蹤。這樣,您就可以針對企業的特定需求編寫自定義應用程式。

SQL 跟蹤結構

  事件源可以是生成跟蹤事件(例如 Transact-SQL 批處理)或 SQL Server 事件(例如死鎖)的任何源。有關事件的詳細信息,請參閱 SQL Server 事件類參考事件發生後,如果該事件類已經包含在跟蹤定義中,則跟蹤將收集該事件信息。如果已經在跟蹤定義中為該事件類定義篩選器,則將應用這些篩選器並將跟蹤事件信息傳遞到隊列。從隊列中,跟蹤信息或者被寫入文件,或者由應用程式(例如 SQL Server Profiler)中的 SMO 使用。以下關係圖顯示了在跟蹤期間 SQL 跟蹤如何收集事件。

資料庫引擎事件跟蹤進程        使用數據列描述返回的事件

跟蹤運行時,SQL 跟蹤使用跟蹤輸出中的數據列來描述返回的事件。下表說明瞭 SQL Server Profiler 數據列(這些數據列與 SQL 跟蹤使用的數據列相同),並指示預設情況下選擇的列。

數據列

列號說明

ApplicationName 1

10

客戶端應用程式的名稱,該客戶端應用程式創建了指向 SQL Server 實例的連接。此列由該應用程式傳遞的值填充,而不是由程式名填充的。

BigintData1

52

值 (bigint 數據類型),取決於跟蹤中指定的事件類。

BigintData2

53

值 (bigint 數據類型),取決於跟蹤中指定的事件類。

Binary Data

2

依賴於跟蹤中捕獲的事件類的二進位值。

ClientProcessID 1

9

由主機分配給正在運行客戶端應用程式的進程的 ID。如果客戶端提供了客戶端進程 ID,則填充此數據列。

ColumnPermissions

44

表示是否已設置了列許可權。可以分析語句文本來確定各列所應用許可權的情況。

CPU

18

事件使用的 CPU 時間(毫秒)。

Database ID1

3

由 USE database_name 語句指定的資料庫的 ID;如果未對給定實例發出 USE database_name語句,則為預設資料庫的 ID。如果在跟蹤中捕獲 ServerName 數據列而且伺服器可用,則 SQL Server Profiler 將顯示資料庫名。若要確定資料庫的值,請使用 DB_ID 函數。

DatabaseName

35

正在運行用戶語句的資料庫的名稱。

DBUserName 1

40

客戶端的 SQL Server 用戶名。

Duration

13

事件的持續時間(微秒)。

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

EndTime

15

事件的結束時間。對指示事件開始的事件類(例如 SQL:BatchStarting 或SP:Starting)將不填充此列。

Error

31

給定事件的錯誤號。通常是 sysmessages 中存儲的錯誤號。

EventClass1

27

捕獲的事件類的類型。

EventSequence

51

此事件的序列號。

EventSubClass 1

21

事件子類的類型,提供有關每個事件類的詳細信息。例如,Execution Warning 事件類的事件子類值代表執行警告的類型:

1 = 查詢等待。查詢執行之前必須等待資源;例如,記憶體。

2 = 查詢超時。查詢等待執行所需資源時超時。對於所有事件類,均不填充此數據列。

GUID

54

依賴於跟蹤中指定的事件類的 GUID 值。

FileName

36

所修改的文件的邏輯名稱。

Handle

33

一個整數,ODBC、OLE DB 或 DB-Library 使用它來協調伺服器的執行情況。

HostName1

8

正在運行客戶端程式的電腦的名稱。如果客戶端提供了主機名,則填充此數據列。若要確定主機名,請使用 HOST_NAME 函數。

IndexID

24

受事件影響的對象的索引 ID。若要確定對象的索引 ID,請參見 sysindexes 系統表的 indid 列。

IntegerData

25

跟蹤中捕獲的與事件類對應的整數值。

IntegerData2

55

跟蹤中捕獲的與事件類對應的整數值。

IsSystem

60

指示該事件發生在系統進程還是用戶進程上:

1 = 系統

0 = 用戶

LineNumber

5

包含存在錯誤的行的行號。對於涉及 Transact-SQL 語句的事件(如 SP:StmtStarting),LineNumber 包含存儲過程或批處理中語句的行號。

LinkedServerName

45

鏈接伺服器的名稱。

LoginName

11

用戶的登錄名(SQL Server 安全登錄名或 Windows 登錄憑據,格式為“域/用戶名”)。

LoginSid 1

41

已登錄的用戶的安全標識符 (SID)。您可以在 master 資料庫的 sys.server_principals 視圖中找到此信息。伺服器中的每個登錄名都具有唯一的 ID。

MethodName

47

OLEDB 方法的名稱。

Mode

32

一個整數,各種事件都使用它來描述事件要請求或已接收的狀態。

NestLevel

29

一個整數,表示 @@NESTLEVEL 返回的數據。

NTDomainName 1

7

用戶所屬的 Microsoft Windows 域。

NTUserName 1

6

Windows 用戶名。

ObjectID

22

系統分配的對象 ID。

ObjectID2

56

相關對象或實體(如果存在)的 ID。

ObjectName

34

被引用對象的名稱。

ObjectType2

28

表示事件中涉及的對象類型的值。該值對應於 sysobjects 中的 type 列。

Offset

61

語句在存儲過程或批處理中的起始偏移量。

OwnerID

58

僅限鎖事件。擁有鎖的對象的類型。

OwnerName

37

對象所有者的資料庫用戶名。

ParentName

59

該對象所在的架構的名稱。

Permissions

19

表示所檢查的許可權類型的整型值。值為:

1 = SELECT ALL

2 = UPDATE ALL

4 = REFERENCES ALL

8 = INSERT

16 = DELETE

32 = EXECUTE(僅過程)

4096 = SELECT ANY(至少一列)

8192 = UPDATE ANY

16384 = REFERENCES ANY

ProviderName

46

OLEDB 訪問介面的名稱。

Reads

16

由伺服器代表事件讀取邏輯磁碟的次數。這些讀取操作數包含在語句執行期間讀取表和緩衝區的次數。

RequestID

49

包含該語句的請求的 ID。

RoleName

38

正在啟用的應用程式角色名。

RowCounts

48

批處理中的行數。

ServerName 1

26

正在跟蹤的 SQL Server 實例的名稱。

SessionLoginName

64

發起會話的用戶的登錄名。例如,如果您使用 Login1 連接到 SQL Server 並以 Login2 身份執行語句,則SessionLoginName 將顯示 Login1,而 LoginName 將顯示 Login2此數據列將同時顯示 SQL Server 登錄名和 Windows 登錄名。

Severity

20

異常錯誤事件的嚴重級別。

SourceDatabaseID

62

存在該對象的源的資料庫 ID。

SPID

12

SQL Server 為客戶端的相關進程分配的伺服器進程 ID (SPID)。

SqlHandle

63

基於即席查詢文本或 SQL 對象的資料庫和對象 ID 的 64 位哈希運算。可以將該值傳遞到sys.dm_exec_sql_text() 以檢索關聯的 SQL 文本。

StartTime 1

14

事件(如果有)的開始時間。

狀態

30

錯誤狀態代碼。

Success

23

表示事件是否成功。值包括:

1 = 成功。

0 = 失敗

例如,1 表示許可權檢查成功,而 0 表示許可權檢查失敗。

TargetLoginName

42

如果是針對登錄的操作(例如,添加新的登錄),這是所針對登錄的名稱。

TargetLoginSid

43

如果是針對登錄的操作(例如,添加新的登錄),這是所針對登錄的 SID。

TargetUserName

39

如果是針對某個資料庫用戶的操作(例如,授予用戶許可權),這是該用戶的名稱。

TextData

1

依賴於跟蹤中捕獲的事件類的文本值。但是,如果跟蹤參數化查詢,則不以 TextData 列中的數據值顯示變數。

Transaction ID

4

系統為事務分配的 ID。

類型 57

跟蹤中捕獲的與事件類對應的整數值。

Writes

17

由伺服器代表事件寫入物理磁碟的次數。

XactSequence

50

用於說明當前事務的標記。

  1 預設情況下,對於所有事件,均填充這些數據列。

  2 有關 ObjectType 數據列的詳細信息,請參閱ObjectType 跟蹤事件列

 

 

 

  

SQL 跟蹤任務  

任務說明

主題

介紹如何使用 TRANSACT-SQL 存儲過程創建和運行跟蹤。

使用 Transact-SQL 存儲過程創建和運行跟蹤

介紹如何在 SQL Server 資料庫引擎實例上使用存儲過程創建手動跟蹤。

使用存儲過程創建手動跟蹤

介紹如何將跟蹤結果保存到跟蹤結果所寫入的文件。

將跟蹤結果保存到文件

介紹如何使用 temp 目錄中的空間來提高訪問跟蹤數據的性能。

改進對跟蹤數據的訪問

介紹如何使用存儲過程創建跟蹤。

創建跟蹤 (Transact-SQL)

介紹如何使用存儲過程創建只檢索有關所需跟蹤事件信息的篩選器。

設置跟蹤篩選器 (Transact-SQL)

介紹如何使用存儲過程修改現有跟蹤。

修改現有跟蹤 (Transact-SQL)

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 近來由於工作需要,需要提取某些城市的經緯度坐標,稍微搜索了一下,發現百度地圖和高德地圖都提供了相關的函數和例子.那麼剩餘的工作也就比較簡單了,保存坐標,然後轉換為WGS坐標,這樣才能和現有的GPS數據以及地圖匹配.主要問題和解決方法本地保存文件跨瀏覽器支持 由於安全的原因,JavaScript...
  • 寫網頁的時候很多情況需要對圖片進行操作,如何在不進行專業的美工裁切操作的情況下而讓自己的素材度達到最大的滿意度呢,這是一個問題,對於懶得開ps切圖的我,通常會直接在網路上download一張圖片,直接拖到html里,這就需要對圖片的css樣式進行一些調整,鑒於我總是記不住一些樣式屬性而無法讓圖片.....
  • 1 2 3 4 5 6 7 8 27 28 dian29 30 今天開始學習 dojo 目的是學習 arc gis api for jsrequire 方法:引入組件和模塊on 方法:綁定...
  • 。。。。
  • 首先說明》 FEDERATED存儲引擎訪問在遠程資料庫的表中的數據,而不是本地的表。這個特性給某些開發應用帶來了便利,你可以直接在本地構建一個federated表來連接遠程數據表,配置好了之後本地表的數據可以直接跟遠程數據表同步。實際上這個引擎裡面是不真實存放數據的,所需要的數據都是連接到其他MyS...
  • 機器學習很多場景中會用到放回采樣,比如bagging方法。
  • 上篇文章簡單討論了虛擬機的原理,這篇文章我們詳細討論下指令,具體從幾種典型的SQL語句來看看每種SQL對應的指令流,以及每個指令的含義。通過explain語句,可以看到語句對應的指令流;通過pragma vdbe_trace=on指令,我們甚至可以得到語句對應的指令執行流程,包括跳轉等。測試表結.....
  • 作為一個DBA,排除SQL Server問題是我們的職責之一,每個月都有很多人給我們帶來各種不能解釋卻要解決的性能問題。我就多次聽到,以前的SQL Server的性能問題都還好且在正常範圍內,但現在一切已經改變,SQL Server開始糟糕, 瘋狂的事情不能解釋。在這個情況下我介入,分析下整個SQL...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...