日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SQL SERVER 2000系統支持的跟蹤函數

瀏覽:263日期:2023-10-29 18:00:08

你們大部分人可能已經在SQL SERVER中建立自己的用戶定義函數(UDF),但是你知道么?微軟公司已經集成了大量自己的UDFs,特別是在最新發布的SP3中.在這篇文章中 Baya Pavliashvili和Kevin Kline系統地研究了關于SQL SERVER跟蹤部分的UDF.你們中的一些人也許想閱讀以前SQL Server Professional的一篇關于傳統UDFs的文章,比如Andrew Zanevsky's 2000年9月的專欄 ('Granting Wishes with UDF'), Andrew Zanevsky and Anton Jiline's; 2001年10月的文章 ('UDF Performance… or Lack of It'), 或 Jimmy Nilsson's; 2003年7月的文章('Another UDF: Global Constants').

UDFs是SQL Server 2000期待已久的附加功能, UDFs典型的應用是DBAs和開發者用來模塊化代碼和間或用來提高性能.在這篇文章中,我們將從零開始了解SQL SERVER系統提供的UDFs,可以允許DBA進行跟蹤管理.

雖然系統提供的用戶定義函數聽起來有一點矛盾,但微軟還是集成大量的內部的UDFs(只讀,系統提供).同時,盡管UDFs這個特性在SQL SERVER 2000最初發布是就提供了,不過我們發現只是在SP3中微軟才因為自己的目的而大量使用,所有系統提供的UDFs函數都是以’fn_’開始并且保存在master數據庫中.

比較系統提供的和標準的UDF

如果你熟悉UDFs,你也許知道UDF是不能修改固定表的記錄,典型的應用是:讀取數據,修改表變量的數據,返回數據.而且UDFs可以運行擴展存儲過程和系統提供的自定義函數.事實上有很多的系統提供的自定義函數只是簡單的調用一個擴展存儲過程.[ 擴展存儲過程通常是有C++寫的DLL文件,你可以看Paul Storer-Martin's在2002年7月和8月的文章'Playing the ODS'],因此閱讀用T-SQL寫的UDF相同功能的代碼不是更好么? 系統提供的自定義函數和用戶的自定義函數在運行時有輕微的差別:典型的自定義函數(UDFs)可以向這樣調用:

SELECT column_list

FROM owner_name.UDF_name (@parameter1, … @parameterN)

系統提供的自定義函數需要在FROM后面加二個冒號(::),同時你不必指定該功能的所有者:

SELECT column_list;

FROM; :: fn_SystemSuppliedUDF

(@parameter1, … @parameterN)

比如: 系統提供的自定義函數fn_helpcollations()可以返回SQL SERVER 2000支持的所有字符集,我們可以這樣執行:

SELECT * FROM :: fn_helpcollations()

用于跟蹤的自定義函數(UDFs)

一條跟蹤捕獲的T-SQL語句發給(或運行一個存儲過程在)指定的SQL SERVER的實列并且保存為一個*.TRC的文件.SQL SERVER的跟蹤可以通過Profiler工具或運行系統的存儲過程sp_trace_create建立并且可以指定許多過慮的標準來限制輸出文件.在這篇文章中,我們主要針對跟蹤功能的系統提供的自定義函數.

fn_trace_gettablefn_trace_gettable() 需要二個參數: 初始化的跟蹤文件名(.TRC)和跟蹤文件的個數.當你建立一個跟蹤,你可以配置SQL SERVER限制跟蹤文件的大小.當跟蹤文件到達指定的大小,SQL SERVER會字段產生一個新的”滾動的”跟蹤文件. fn_trace_gettable()函數的第二個參數是”滾動的”跟蹤文件的個數,這是在指定第一個參數時開始的.

如果你喜歡將跟蹤的新年保存在數據庫中,你可以簡單地運行一個查詢,通過fn_trace_gettable 將跟蹤文件保存為一個數據表,比如:

SELECT *

INTO dbo.my_trace_table

FROM :: fn_trace_gettable

('c:trace_file.trc', default)

而且,可以非常方便直接查詢,搜索一些特殊含義的字符串.在我們的測試環境中,所有的用戶定義的存儲過程以”USP”開始,因此我們可以運行一個查詢,搜索持續時間超過3000ms的記錄:

SELECT TextData, duration

FROM ::

fn_trace_gettable('c:trace_file.trc', default)

WHERE TextData LIKE '%usp%'

AND duration > 3000

通過更加復雜的查詢,我們可以精練SELECT語句來確定哪些查詢一致運行地比較慢還是只在高峰期.

fn_trace_getinfo這個系統提供的自定義函數可以得到一個跟蹤的高級別信息或在一個SQL SERVER上運行的所有正在運行的跟蹤.這個函數只有一個參數—跟蹤的編號(TRACE ID)

為了限制一個跟蹤的信息,你必須指定跟蹤標志符.你也可以指定DEFAULT或”0”,作為跟蹤標志符,這樣可以獲得所有的運行的跟蹤信息.SQL SERVER在建立跟蹤時給每一個跟蹤分配一個跟蹤標志符,如果你不指定你要查詢的跟蹤標志符,簡單的以參數”0”運行該系統函數,然后你可以限制跟蹤輸出你感興趣的內容. fn_trace_getinfo系統函數的輸出描述如表一:

表 1. f fn_trace_getinfo的輸出.

列名

描述

TraceID

此跟蹤的 ID.可以被用來通過系統存儲過程來管理跟蹤

Property

跟蹤的屬性,由下列整數表示:

1 – 跟蹤選項(請參見 sp_trace_create 中的 @options)2 – FileName3 – MaxSize4 – StopTime5 – 當前跟蹤狀態

Value

有關指定跟蹤的屬性的信息。

跟蹤的選項可以通過系統存儲過程sp_trace_create來指定(看表2)

表 2. 跟蹤的選項可以通過系統存儲過程sp_trace_create來指定

選項名

選項值

描述

Trace_produce_rowset

1

跟蹤將產生一個行集

Trace_file_rollover

2

當達到 max_file_size 時,將關閉當前跟蹤文件并創建新文件.SQL SERVER 會自動為每個文件增加序列編號(1,2,3….)

Shutdown_on_error

4

如果不能將跟蹤寫入文件,則 SQL Server 將關閉。

Trace_produce_blackbox

8

如果這個選項被選中,SQL SERVER的最后 5 MB 跟蹤信息記錄將由服務器保存

下面我們看一個實列來了解fn_trace_getinfo是如何工作的.設想我們通過下面的查詢建立一個跟蹤:

/* declare a variable to hold trace ID */

DECLARE @trace_id INT

/* create the trace */

EXEC sp_trace_create;;;

@traceid = @trace_id; OUTPUT,

@options =; 2; ,

@tracefile =; N'e:trace_file.trc' ,

@maxfilesize = 5,

@stoptime = NULL

/* start the trace we just created.

by default the trace is stopped at creation

*/

EXEC sp_trace_setstatus @trace_id, 1

/* return the trace identifier*/

SELECT 'trace ID is: ' + CAST(@trace_id AS VARCHAR(4))

--Result:

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

trace ID is: 2

現在我們可以用fn_trace_getinfo 來獲得相應跟蹤的信息

SELECT * FROM :: fn_trace_getinfo(2)

查詢的結果在表 3.

表3. fn_trace_getinfo查詢的結果.

traceID

Property

Value

2

1

2

2

2

e:trace_file.trc

2

3

5

2

4

NULL

2

5

1

這個輸出告訴我們,有一個正在運行的跟蹤,自動增長到5MB后會自動產生另外一個文件.沒有指定跟蹤停止時間( property = 4 ) ,因此該跟蹤會運行直到SQL SERVER服務停止或通過系統存儲過程sp_trace_setstatus停止跟蹤。

標簽: Sql Server 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品大片| 日韩av自拍| 五月天综合网站| 亚洲国产综合在线看不卡| 久久久夜精品| 日韩精品欧美| 日韩欧美另类一区二区| 黄色在线观看www| 亚洲啊v在线| 99久久久久久中文字幕一区| 久久在线免费| 亚洲激情中文在线| 老色鬼久久亚洲一区二区| 免费中文字幕日韩欧美| 亚洲区欧美区| 国产精品免费99久久久| 久久av网站| 亚洲精品**中文毛片| 性欧美xxxx免费岛国不卡电影| 欧美/亚洲一区| 久热精品在线| 久久激情五月激情| 精品国产午夜肉伦伦影院| 亚洲黄色中文字幕| 在线亚洲激情| 日韩精品高清不卡| 麻豆一区二区99久久久久| 日韩欧美一区二区三区在线观看| 欧美国产91| 日韩精品亚洲专区| 美女尤物国产一区| 国产v综合v| 免费久久精品视频| 国产精品午夜一区二区三区| 国产一区2区| 亚洲免费黄色| 国产日韩亚洲欧美精品| 岛国av在线播放| 欧美另类综合| 国产亚洲高清一区| 欧美日韩精品免费观看视欧美高清免费大片| 欧美女激情福利| 国产欧美日韩在线一区二区| 国产一区二区三区探花| 午夜日韩av| 久久99青青| 亚洲免费精品| 久久av影院| 国产亚洲高清视频| 精品中文字幕一区二区三区四区| 尤物tv在线精品| 日韩 欧美一区二区三区| 精品一区二区三区中文字幕视频| 欧美在线网站| 国产精品激情电影| 五月婷婷亚洲| 欧美1区2区3| 日韩午夜av在线| 久久不见久久见中文字幕免费| 欧美~级网站不卡| 国产麻豆精品久久| 伊人久久大香线蕉av超碰演员| 国产精品视频一区二区三区四蜜臂| 久久精品1区| 国产精品国产三级在线观看| 精品91久久久久| 蜜桃久久久久| 日韩中文字幕一区二区三区| 精品免费av一区二区三区| 麻豆9191精品国产| 在线人成日本视频| 青草久久视频| 性欧美69xoxoxoxo| 国产一区一一区高清不卡| 亚洲美女91| 99久久激情| 黄色网一区二区| 日韩不卡一区二区三区| 欧美日韩国产免费观看视频| 精品国产一级| 亚洲精品乱码久久久久久蜜桃麻豆 | 久久一区视频| 午夜精品影视国产一区在线麻豆| 欧美日韩免费看片| 欧美极品一区二区三区| 日本亚洲不卡| 亚洲欧美日韩国产一区二区| 国产在线一区不卡| 欧美在线首页| 男人的天堂亚洲一区| 999精品在线| 韩日一区二区| 国产高清日韩| 国产欧美综合一区二区三区| 亚洲欧美激情诱惑| 亚洲国产专区| 99久久九九| 电影亚洲精品噜噜在线观看| 久久一区精品| 国产精品天堂蜜av在线播放| 日韩国产91| 亚洲三级av| 亚洲一区二区三区高清不卡| 在线日韩电影| 欧美亚洲国产一区| 视频福利一区| 亚洲性色av| 亚洲精品国产嫩草在线观看| 亚洲三级欧美| 精品亚洲精品| 免费在线亚洲| 久久99精品久久久久久园产越南| 日韩成人一级| 国产日韩1区| 青青伊人久久| 91精品国产自产观看在线| 天堂va欧美ⅴa亚洲va一国产| 一级欧美视频| 婷婷亚洲成人| 欧美亚洲专区| 欧美激情一区| 精品国产一级| 色在线视频观看| 99国产精品一区二区| 日本精品不卡| 国产99精品一区| 99国产精品免费视频观看| 少妇久久久久| 99香蕉国产精品偷在线观看 | 欧美亚洲tv| 国产毛片久久久| 精品视频91| 色黄视频在线观看| 久久精品高清| 亚洲一级高清| 日韩亚洲精品在线| 美女黄网久久| 婷婷精品久久久久久久久久不卡| 91精品国产自产精品男人的天堂| 日韩1区2区日韩1区2区| 国产欧美自拍| 福利在线免费视频| 亚洲婷婷在线| 亚洲天堂免费| 国产日本精品| 亚洲综合电影| 黄色av一区| 日韩1区2区日韩1区2区| 久久久久九九精品影院| 黄色aa久久| 亚洲女同一区| 日韩高清不卡一区二区| 欧美91在线| 亚洲韩日在线| 日韩三区四区| 精品免费视频| 免费毛片在线不卡| 亚洲精品系列| 欧美极品中文字幕| 99精品一区| 一本一道久久a久久| 久久精品国产999大香线蕉| 日韩高清欧美| 久久高清国产| 国产极品模特精品一二| 成人羞羞视频在线看网址| 免费久久精品视频| 精品理论电影在线| 国产精品毛片在线| 国产高清亚洲| 黄色av日韩| 国产精品调教视频| 伊人精品一区| 国产欧美日韩精品一区二区三区| 97人人精品| 日韩在线卡一卡二| 欧美国产日本| 亚洲欧美日韩一区在线观看| 久久不见久久见国语| 亚洲国产一区二区三区在线播放| 亚洲日本久久| 国产白浆在线免费观看| 久久国产精品毛片| 欧美黑人做爰爽爽爽| 欧美另类专区| 美腿丝袜亚洲一区| 先锋影音国产一区| 麻豆久久一区二区| 蜜臀va亚洲va欧美va天堂| 精品三级在线观看视频| 首页国产欧美久久| 中文av在线全新| 日韩av中文字幕一区| 啪啪国产精品| 国产精品成人一区二区网站软件| 久久精品主播| 国产精品.xx视频.xxtv| 亚洲一区国产一区| 亚洲综合电影| 国产精品一区二区99|