91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQLServer中怎么控制跟蹤標記

發布時間:2021-07-26 11:01:06 來源:億速云 閱讀:114 作者:Leah 欄目:數據庫

這篇文章給大家介紹SQLServer中怎么控制跟蹤標記,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

跟蹤標記是什么?

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

下面是官方對于Trace Flag的標記:

跟蹤標記是一個標記,用于啟用或禁用SQL Server的某些行為。

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

Important:Trace Flag屬于劍走偏鋒的招數,在使用Trace Flag做優化之前,先Apply基本的Best Practice。

如何控制跟蹤標記

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

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 = '<procedure name>'   , @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數量適當、單獨存儲,如果還是不能緩解日志過大的話,考慮使用該跟蹤標記。

參考資料:

http://msdn.microsoft.com/en-us/library/dd425070.aspx

http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/10/24/new-update-on-minimal-logging-for-sql-server-2008.aspx

Trace Flag 834

使用 Microsoft Windows 大頁面緩沖池分配。如果服務器是SQL Server專用服務器的話,值得開啟該跟蹤標記。

Trace Flag 835

允許SQL Server 2005和2008標準版使用"鎖定內存頁",和在組策略中設置的結果大同小異,但是允許在標準版中使用.

Trace Flag 1118
tempdb分配整個區,而不是混合區,減少SGAM頁爭搶。
當apply tempdb的best practice之后,還遇到爭搶問題,考慮使用該跟蹤標記。
參考資料:

http://blogs.msdn.com/b/psssql/archive/2008/12/17/sql-server-2005-and-2008-trace-flag-1118-t1118-usage.aspx

Trace Flag 1204和1222
這兩個跟蹤標記都是將死鎖寫到錯誤日志中,不過1204是以文本格式進行,而1222是以XML格式保存。可以通過
sp_readerrorlog查看日志。




Trace Flag 1211和1224

兩種方式都是禁用鎖升級。但行為有所差別1211是無論何時都不會鎖升級,而1224在內存壓力大的時候會啟用鎖升級,從而避免了out-of-locks錯誤。當兩個跟蹤標記都啟用是,1211的優先級更高。

Trace Flag 2528

禁用并行執行DBCC CHECKDB, DBCC CHECKFILEGROUP,DBCC CHECKTABLE。這意味著這幾個命令只能單線程執行,這可能會需要更多的時間,但是在某些特定情況下還是有些用處。

Trace Flag 3226

防止日志記錄成功的備份。如果日志備份過于頻繁的話,會產生大量錯誤日志,啟用該跟蹤標記可以使得日志備份不再被記錄到錯誤日志。

Trace Flag 4199
所有KB補丁對于查詢分析器行為的修改都生效,這個命令比較危險,可能掃稱性能的下降,具體請參看:
http://support.microsoft.com/kb/974006


不應該在生產環境中啟用的跟蹤標記


Trace Flag 806 在讀取過程中對頁檢查邏輯一致性,在錯誤日志中就可以看到類似下面的信息:2004-06-25 11:29:04.11 spid51 錯誤: 823,嚴重性: 24 日狀態: 22004-06-25 11:29:04.11 spid51 I/O 錯誤 (審核失敗) 在讀取過程中檢測到的偏移量主題 SQL Server\MSSQL\data\pubs.mdf e:\Program 文件中的 0x000000000b0000.參考資料:http://support.microsoft.com/kb/841776該跟蹤標記會極大的降低性能!!!Trace Flag 818 檢查寫一致性蹤標志 818 啟用了一個內存中的環形緩沖區,用于跟蹤由運行 SQL Server 的計算機執行的最后 2,048 個成功寫操作(不包括排序和工作文件 I/O)。發生 605、823 或 3448 之類的錯誤時,將傳入緩沖區的日志序列號 (LSN) 值與最新寫入列表進行比較。如果在讀操作期間檢索到的 LSN 比在寫操作期間指定的更舊,就會在 SQL Server 錯誤日志中記錄一條新的錯誤信息。大部分 SQL Server 寫操作以檢查點或惰性寫入形式出現。惰性寫入是一項使用異步 I/O 操作的后臺任務。環形緩沖區的實現是輕量的,因此對系統性能的影響可以忽略。參考資料:http://support.microsoft.com/kb/826433Trace Flag 1200 返回加鎖信息的整個過程,是學習加鎖過程很牛逼的標志,示例代碼如下:DBCC TRACEON(1200,-1)DBCC TRACEON(3604)DBCC TRACESTATUSSELECT * FROM AdventureWorks.person.Address參考資料:http://stackoverflow.com/questions/7449061/nolock-on-a-temp-table-in-sql-server-2008Trace Flag 1806禁用即時文件初始化,所有的磁盤空間請求全部使用填0初始化,可能造成在空間增長時產生阻塞。Trace Flag 3502在日志中顯示有關checkpoint的相關信息。如圖1所示。
圖1.在錯誤日志中顯示CheckpointTrace Flag 3505不允許自動進行checkpoint,checkpoint只能手動進行,是非常危險的一個命令。

跟蹤標志是控制SQL Server行為的一種方式,對于某些跟蹤標志來說,可以在生產環境中提高性能,而對于另一些來說,用在生產環境中是一件非常危險的事情,只有在測試環境中才能被使用。要記住,跟蹤標記對于調優是一種劍走偏鋒的手段,只有在使用了所有基本的調優手段之后,才考慮使用跟蹤標記。

關于SQLServer中怎么控制跟蹤標記就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

砚山县| 彩票| 通辽市| 威宁| 响水县| 通河县| 冀州市| 本溪市| 城步| 沙洋县| 威海市| 商都县| 永德县| 南江县| 涞水县| 镇远县| 利辛县| 贵定县| 枣阳市| 吴旗县| 鄂伦春自治旗| 赣州市| 雅安市| 彭阳县| 博野县| 东城区| 县级市| 巫山县| 惠来县| 个旧市| 紫云| 苏州市| 蛟河市| 武乡县| 房产| 绥德县| 浪卡子县| 靖远县| 渝中区| 青岛市| 内黄县|