DBA應該知道的一些SQL Server跟蹤標記

2022-03-08 05:51:36 字數 1285 閱讀 9012

跟蹤標記是什麼?

對於dba來說,掌握trace flag是乙個成為sql server高手的必要條件之一,在大多數情況下,trace flag只是乙個劍走偏鋒的奇招,不必要,但在很多情況下,會使用這些標記可以讓你更好的控制sql server的行為。

下面是官方對於trace flag的標記:

跟蹤標記是乙個標記,用於啟用或禁用sql server的某些行為。

由上面的定義不難看出,trace flag是一種用來控制sql server的行為的方式。很多dba對trace flag都存在一些誤區,認為只有在測試和開發環境中才有可能用到trace flag,這種想法只能說部分正確,因此對於trace flag可以分為兩類,適合在生產環境中使用的和不適合在生產環境中使用的。

如何控制跟蹤標記

控制跟蹤標記的方式有以下三種:

1、通過dbcc命令

可以通過dbcc命令來啟用或關閉跟蹤標記,這種方式的好處是簡單易用,分別使用下面三個命令來啟用,禁用已經檢視跟蹤標記的狀態:

● dbcc traceon(2203,-1)

● dbcc traceoff(2203,1)

● dbcc tracestatus

其中,traceon和traceoff第二個引數代表啟用標誌的範圍,1是session scope,-1是global scope,如果不指定該值,則保持預設值session scope。

另外,值得說的是,如果你希望在每次sql server服務啟動時通過dbcc命令控制某些flag,則使用

exec sp_procoption @procname = ''

, @optionname

= ] 'startup'

, @optionvalue = 'on';

這個儲存過程來指定,sp_procoption儲存過程會在sql server伺服器啟動時自動執行。

還有一點值得注意的是,不是所有的跟蹤標記都可以用dbcc命令啟動,比如flag 835就只能通過啟動引數指定。

2、通過在sql server配置管理器中指定

這種方式是通過在資料庫引擎啟動項裡加啟動引數設定,只有global scope。格式為-t#跟蹤標記1;t跟蹤標記2;t跟蹤標記3。

3、通過登錄檔啟動

這種方式和方法2大同小異,就不多說了。

一些在生產環境中可能需要的跟蹤標記

trace flag 610

減少日誌產生量。如果你對於日誌用了很多基礎的best

practice,比如說只有乙個日誌檔案、vlf數量適當、單獨儲存,如果還是不能緩解日誌過大的話,考慮使用該跟蹤標記。

你應該知道的一些Linux技巧

首先,我想告訴大家,在unix linux下,最有效率技巧的不是操作圖形介面,而是命令列操作,因為命令列意味著自動化。如果你看過 你可能不知道的shell 以及 28個unix linux的命令列神器 你就會知道linux有多強大,這個強大完全來自於命令列,於是,就算你不知道怎麼去 做乙個環保主義的...

你應該知道的一些Android ADB 命令

一 裝置相關 輸出格式為 serialnumber state state 有如下幾種 列名解釋 nodevice 沒有裝置 模擬器連線 offline 表示裝置未連線成功或無響應。device 裝置已連線。注意這個狀態並不能標識 android 系統已經完全啟動和可操作,在裝置啟動過程中裝置例項就...

DBA應該知道的RAID卡知識

對於資料庫這種特殊應用iops往往會成為瓶頸,突破的這個瓶頸的有效方法不多,軟體方面主要是讀寫分離,垂直拆分,分割槽表技術,cluster。硬體方面主要是raid,和ssd。通常都是軟體和硬體同時優化,相對於成考考慮,硬體使用raid的情況較多,今天分享下硬體raid知識。什麼是raid?raid可...