国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL SERVER 2000系統(tǒng)提供的跟蹤函數(shù)(二)

2024-08-31 00:48:24
字體:
供稿:網(wǎng)友
,歡迎訪問網(wǎng)頁設(shè)計(jì)愛好者web開發(fā)。sql server 2000系統(tǒng)支持的跟蹤函數(shù)(二)
baya pavliashvili and kevin kline

http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28000409

 

fn_trace_getfilterinfo 和 fn_trace_geteventinfo
這些函數(shù)可以用來檢索一個(gè)跟蹤的元數(shù)據(jù)(這些函數(shù)的輸出的含義是模糊的,如果你不熟悉跟蹤的事件標(biāo)志符和過慮的列的標(biāo)志符.你可以看看sql server的在線幫助 “sp_trace_setevent”)

這2個(gè)函數(shù)都是將跟蹤標(biāo)志符作為唯一的參數(shù). fn_trace_getfilterinfo返回指定跟蹤的過慮后的信息.舉例:假設(shè)我們限制跟pubs數(shù)據(jù)庫,因?yàn)槲覀冊(cè)噲D解決該數(shù)據(jù)庫中一個(gè)運(yùn)行很長時(shí)間的查詢的故障,我們可以如下運(yùn)行該函數(shù):

select * from :: fn_trace_getfilterinfo(1)

--results:

columnid   logical_operator comparison_operator value   

---------- ---------------- ------------------- ---------

35                0         6                   pubs

這個(gè)輸出告訴我們,我們指定的跟蹤過慮是在列為35(數(shù)據(jù)庫名)和沒有使用邏輯操作符("and" or "or") 因?yàn)橹挥幸粋€(gè)條件.比較操作符是”liee”(=6)過濾的值是”pubs”.

根據(jù)你應(yīng)用過慮的類型,你可以改變比較操作符.在許多案例中,你可以使用 like或 not like.而且,如果你限制跟蹤指定的處理或指定的數(shù)據(jù)庫,那么你可以指定"=", ">", "< >", "<", "> =", or "< ="等邏輯操作符.

備注:如果你通過sql server profiler工具建立一個(gè)跟蹤,這個(gè)跟蹤會(huì)自動(dòng)增加一個(gè)過濾器,不包括通過profiler自己產(chǎn)生給sql server的跟蹤過濾語句.如果你喜歡了解profiler工具,只要簡單的將過濾器設(shè)置為off.

fn_tracegeteventinfo 可以返回一個(gè)跟蹤的事件信息,有很多的跟蹤事件你可以指定.你指定的事件越多,就會(huì)有更多的信息被整理,因此要仔細(xì).我勸告大家要了解每一個(gè)事件的含義并且選擇那些和你解決問題密切相關(guān)的事件. fn_tracegeteventinfo 是一個(gè)非常有用的函數(shù),當(dāng)你因?yàn)椴煌哪康囊M運(yùn)行多個(gè)跟蹤.

要獲得我們建立的跟蹤事件的標(biāo)志符,我們可以如下運(yùn)行fn_tracegeteventinfo函數(shù):

select distinct eventid

from :: fn_trace_geteventinfo(1)

--results:

eventid    

-----------

12

37

40

41

42

43

這個(gè)結(jié)果告訴我們,這個(gè)跟蹤在檢測以下事件:

·                       sql: batchcompleted—event id of 12

·                       sp: recompile—event id of 37

·                       sql: statementstarting—event id of 40

·                       sql: statementcompleted—event id of 41

·                       sp: starting—event id of 42

·                       sp: completed—event id of 43

同樣的,我們可以運(yùn)行相同的函數(shù),進(jìn)行很小的改動(dòng)就可以獲得一個(gè)跟蹤的所有數(shù)據(jù)列

select distinct columnid from :: fn_trace_geteventinfo(1)

--results:

columnid   

-----------

1

10

11

12

13

14

16

17

18

這里我們收集的典型數(shù)據(jù)用來性能調(diào)整,包括一個(gè)查詢的:正文數(shù)據(jù),程序名,登陸名,spid,持續(xù)時(shí)間,開始結(jié)束時(shí)間,讀取,寫入和cpu占用.
使用系統(tǒng)提供的udfs
現(xiàn)在你指定一些系統(tǒng)提供的udfs,你可以通過這些系統(tǒng)函數(shù)建立自己的自定義函數(shù).其中有一個(gè)主要的限制是自定義函數(shù)無法調(diào)用存儲(chǔ)過程.但是自定義函數(shù)可以調(diào)用其他的自定義函數(shù).下面的udf初始化fn_trace_geteventinfo函數(shù),使結(jié)果更方便閱讀:

create function dbo.fn_gettracecolumns (@trace_id int)

returns @tracecolumns table (

  column_id int,

  column_name varchar(155)

)

as

begin

insert @tracecolumns (

column_id)

select distinct columnid from ::

fn_trace_geteventinfo(@trace_id)

update @tracecolumns

set column_name =

  case column_id

  when 1 then 'textdata'

  when 3 then 'databaseid' 

  when 4 then 'transactionid'

  when 6 then 'ntusername'

  -- similar statements omitted here - see source

  else 'other'

  end

return

end

this function can be executed as follows:

select * from dbo.fn_gettracecolumns(3)
概要
在這篇文章中,我介紹了sql server 2000提供的非常有用的系統(tǒng)自定義函數(shù),希望大家喜歡并且研究其他的系統(tǒng)提供的自定義函數(shù).

下載: traceudfs.sql

參考資源:

·                       284790 inf: how to create a sql server 2000 trace

·                       283786 inf: how to monitor sql server 2000 traces

·                       270599 bug: fn_trace_gettable function cannot read rollover files 273972 generated by sql

·                       profilerhow to: programmatically load trace files into tables

·                       268591 prb: odbc tracing to sql.log can slow sql server or consume all disk space

·                       307786 inf: tracing to network drive may reduce sql server throughput

·                       286239 bug: replay tool uses loginname column for setuser instead of databaseusername column

·                       andrew novick's "find out what they're doing with fn_get_sql"—www.databasejournal.com/features/mssql/article.php/2189761
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 聂拉木县| 来安县| 吴堡县| 鸡东县| 五莲县| 准格尔旗| 临汾市| 梅州市| 石狮市| 西盟| 肃宁县| 射洪县| 明水县| 江西省| 余干县| 阿合奇县| 漳浦县| 饶河县| 龙门县| 隆尧县| 白银市| 鄂伦春自治旗| 娱乐| 林芝县| 南江县| 焦作市| 汪清县| 鄂温| 安仁县| 句容市| 噶尔县| 天台县| 措勤县| 鞍山市| 建始县| 纳雍县| 北川| 兴山县| 弥勒县| 周口市| 鲁山县|