2010-04-07 66 views
1

在另一個問題我是想研究如何控制SQL Server的查詢計劃緩存:SQL Server跟蹤標誌253是做什麼的?

https://stackoverflow.com/questions/2593749/is-there-an-equivalent-of-optionrecompile-or-with-recompile-for-an-entire-c

...我發現跟蹤標誌253通過這篇文章:

http://www.sqlservercentral.com/Forums/Topic837613-146-1.aspx

該文章是正確的,如果我運行DBCC TRACEON(253),然後執行一些查詢,則可以手動檢查查詢計劃緩存,並看到計劃已插入而不是。如果我運行DBCC TRACEOFF(253),查詢計劃將正常緩存。

所以我的問題是......這個標誌還做了什麼?有人知道官方的故事嗎?

+1

正如您可能已經發現的那樣,似乎沒有任何可用的完整記錄的跟蹤標記列表(甚至在BOL之外)。我有一種感覺,即MS只記錄了少數對大多數用戶來說普遍而穩定的內容,其餘的內容在支持故障單期間用於診斷問題。 – Dane 2010-04-08 06:02:32

+0

同意。無論如何,我們不會使用這個。 – kamens 2010-04-08 14:58:20

+1

您可能會覺得這很有用:http://www.sqlservercentral.com/articles/trace+flags/70131/ – 2011-07-03 03:37:31

回答

1

正如你所說的,並在Jon Seigels評論中提到,它:

防止即席查詢計劃留在緩存中。

不應該做別的事情。然而,由於是還指出here用於跟蹤標誌,一般:

跟蹤標誌可以使數據庫引擎以執行可能沒有被作爲嚴格的測試備用的代碼路徑或具有特定的目的,並且可以具有副作用,是不可預料的。

鑑於這是來自MVP的信息,他聲稱已經從產品團隊的成員那裏聽說過,它看起來像官方一樣。特別是因爲微軟own documentation on MSDN不包含所有可以在網上找到的跟蹤標誌 - 比如Jon Seigels在他的評論中的鏈接。