跟蹤標(biāo)記是什么?
在平塘等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都做網(wǎng)站、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣,成都外貿(mào)網(wǎng)站建設(shè),平塘網(wǎng)站建設(shè)費(fèi)用合理。
對(duì)于DBA來(lái)說(shuō),掌握Trace Flag是一個(gè)成為SQL Server高手的必要條件之一,在大多數(shù)情況下,Trace Flag只是一個(gè)劍走偏鋒的奇招,不必要,但在很多情況下,會(huì)使用這些標(biāo)記可以讓你更好的控制SQL Server的行為。
下面是官方對(duì)于Trace Flag的標(biāo)記:
跟蹤標(biāo)記是一個(gè)標(biāo)記,用于啟用或禁用SQL Server的某些行為。
由上面的定義不難看出,Trace Flag是一種用來(lái)控制SQL Server的行為的方式。很多DBA對(duì)Trace Flag都存在一些誤區(qū),認(rèn)為只有在測(cè)試和開(kāi)發(fā)環(huán)境中才有可能用到Trace Flag,這種想法只能說(shuō)部分正確,因此對(duì)于Trace Flag可以分為兩類(lèi),適合在生產(chǎn)環(huán)境中使用的和不適合在生產(chǎn)環(huán)境中使用的。
Important:Trace Flag屬于劍走偏鋒的招數(shù),在使用Trace Flag做優(yōu)化之前,先Apply基本的Best Practice。
如何控制跟蹤標(biāo)記
控制跟蹤標(biāo)記的方式有以下三種:
1.通過(guò)DBCC命令
可以通過(guò)DBCC命令來(lái)啟用或關(guān)閉跟蹤標(biāo)記,這種方式的好處是簡(jiǎn)單易用,分別使用下面三個(gè)命令來(lái)啟用,禁用已經(jīng)查看跟蹤標(biāo)記的狀態(tài):
DBCC TRACEON(2203,-1)
DBCC TRACEOFF(2203,1)
DBCC TRACESTATUS
其中,TRACEON和TRACEOFF第二個(gè)參數(shù)代表啟用標(biāo)志的范圍,1是Session Scope,-1是Global Scope,如果不指定該值,則保持默認(rèn)值Session Scope。
另外,值得說(shuō)的是,如果你希望在每次SQL Server服務(wù)啟動(dòng)時(shí)通過(guò)DBCC命令控制某些Flag,則使用
EXEC sp_procoption @ProcName = 'procedure name' , @OptionName = ] 'startup' , @OptionValue = 'on';
這個(gè)存儲(chǔ)過(guò)程來(lái)指定,sp_procoption存儲(chǔ)過(guò)程會(huì)在SQL Server服務(wù)器啟動(dòng)時(shí)自動(dòng)執(zhí)行。
還有一點(diǎn)值得注意的是,不是所有的跟蹤標(biāo)記都可以用DBCC命令啟動(dòng),比如Flag 835就只能通過(guò)啟動(dòng)參數(shù)指定。
2.通過(guò)在SQL Server配置管理器中指定
這種方式是通過(guò)在數(shù)據(jù)庫(kù)引擎啟動(dòng)項(xiàng)里加啟動(dòng)參數(shù)設(shè)置,只有Global Scope。格式為-T#跟蹤標(biāo)記1;T跟蹤標(biāo)記2;T跟蹤標(biāo)記3。
3.通過(guò)注冊(cè)表啟動(dòng)
這種方式和方法2大同小異,就不多說(shuō)了。
一些在生產(chǎn)環(huán)境中可能需要的跟蹤標(biāo)記
Trace Flag 610
減少日志產(chǎn)生量。如果你對(duì)于日志用了很多基礎(chǔ)的best practice,比如說(shuō)只有一個(gè)日志文件、VLF數(shù)量適當(dāng)、單獨(dú)存儲(chǔ),如果還是不能緩解日志過(guò)大的話(huà),考慮使用該跟蹤標(biāo)記
跟蹤后,查看sql腳本的運(yùn)行時(shí)長(zhǎng),
然后針對(duì)sql腳本進(jìn)行優(yōu)化
請(qǐng)采納!
打開(kāi)sql2008,點(diǎn)擊工具菜單,選擇第一項(xiàng)
勾選TSQL下面的所有復(fù)選框,因?yàn)橛械碾娔X沒(méi)有默認(rèn)勾選
點(diǎn)擊列篩選,在HostName里面的類(lèi)似于輸入你的計(jì)算機(jī)名
這時(shí)就會(huì)彈出下圖窗口,紅框標(biāo)記的是經(jīng)常用到的功能,目前處于運(yùn)行狀態(tài),我們先停止,避免待會(huì)語(yǔ)句過(guò)多不好分析
輸入完網(wǎng)站的登錄賬號(hào)和密碼之后將sql sqrver profiler運(yùn)行起來(lái)
6
點(diǎn)擊登錄的一瞬間,左側(cè)捕捉到了sql語(yǔ)句,網(wǎng)站也登錄進(jìn)去了
如果不將跟蹤結(jié)果保存到文件或表中,則當(dāng)
sql
server
profiler打開(kāi)時(shí)可以查看跟蹤。但是,在停止跟蹤并關(guān)閉
sql
server
profiler之后會(huì)丟失跟蹤結(jié)果。為了避免這種丟失跟蹤結(jié)果的情況,可以在關(guān)閉
sql
server
profiler之前單擊“文件”菜單上的“保存”來(lái)保存結(jié)果。
工具/材料
SQLSERVER2008
首先打開(kāi)SQL SERVER Management管理工具,如下圖所示,選擇工具菜單下面的SQL SERVER Profiler選項(xiàng)
然后管理工具會(huì)自動(dòng)跳出數(shù)據(jù)庫(kù)連接的界面,這里填寫(xiě)好要跟蹤的數(shù)據(jù)庫(kù),然后點(diǎn)擊連接,如下圖所示
接下來(lái)就進(jìn)入到跟蹤屬性的設(shè)置界面,如下圖所示,在這個(gè)界面需要給跟蹤起名字,選擇跟蹤模板
然后切換到事件選擇的頁(yè)卡,如下圖所示,在這里設(shè)置需要跟蹤哪些類(lèi)型的SQL語(yǔ)句
接下來(lái)我們?cè)赟QLSERVER的管理工具執(zhí)行一個(gè)SQL語(yǔ)句,如下圖所示,下面就需要跟蹤這個(gè)SQL語(yǔ)句的執(zhí)行過(guò)程
然后我們就會(huì)在SQLSERVER Profiler工具中看到這個(gè)SQL執(zhí)行的過(guò)程,跟蹤工具中顯示了SQL對(duì)資源的消耗情況,讀寫(xiě)次數(shù)等信息,如下圖所示
最后執(zhí)行完了以后,記住暫?;蛘咄V垢?,否則跟蹤等到停止時(shí)間才會(huì)停止,如下圖所示
QL SERVER 2005的Management但中,找到你要看的表,然后再上面點(diǎn)右鍵,選擇查看依賴(lài)關(guān)系,在那里面列出來(lái)的依賴(lài)類(lèi)型是表的就表示這兩個(gè)表有外鍵關(guān)系了。。。