DBCC TRACEON - 追蹤旗標 (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

追蹤旗標用來設定特定的伺服器特性,或變更特定行為。 例如,追蹤旗標 3226 是常用的啟動追蹤旗標,其可隱藏錯誤記錄檔中的成功備份訊息。 追蹤旗標經常用來診斷效能問題,或偵錯預存程式或複雜的電腦系統,但也可能需要Microsoft 支援服務來解決對特定工作負載造成負面影響的行為。

按照指示使用時,生產環境完全支援所有記錄的追蹤旗標,以及 Microsoft 支援服務所提供的建議。 此清單中的追蹤旗標可能會有其特定使用方式的其他考慮,因此建議您仔細檢閱這裡和/或支援工程師所提供的所有建議。 此外,如同 SQL Server 中的任何組態變更,在部署之前,最好先徹底測試非生產環境中的旗標。

備註

在 SQL Server 中,追蹤旗標的使用範圍有三種:查詢、工作階段以及全域。 查詢追蹤旗標可用於特定查詢的內容。 工作階段追蹤旗標用於某個連接,而且只會在該連接顯示出來。 全域追蹤旗標是設在伺服器層級,只要是該伺服器上的連接,都看得到它們。 某些旗標只能啟用為全域旗標,某些則可以啟用為全域或工作階段範圍。

適用的規則如下:

  • 全域追蹤旗標必須全域啟用, 否則追蹤旗標就沒有效果。 我們建議您在啟動時啟用全域追蹤旗標 (透過在 Windows 上使用 -T 命令列選項,或在 Linux 上使用 mssql-conf)。 這可確保追蹤旗標在伺服器重新啟動後仍維持使用中。 重新啟動 SQL Server,使追蹤旗標生效。

  • 如果追蹤旗標具有全域、工作階段或查詢的範圍,可以使用適當的範圍加以啟用。 以工作階段層級啟用的追蹤旗標絕不會影響其他工作階段,而且當開啟該工作階段的 SPID 登出時,該追蹤旗標的效果也隨之消失。

您可以使用下列其中一種方法,將追蹤旗標設為開啟或關閉:

  • 使用 DBCC TRACEONDBCC TRACEOFF 命令。

    例如,若要全域啟用 2528 追蹤旗標,請搭配使用 DBCC TRACEON-1 引數:DBCC TRACEON (2528, -1)。 使用 DBCC TRACEON 來啟用全域追蹤旗標,在伺服器重新啟動後就會失去作用。 若要關閉全域追蹤旗標,請搭配使用 DBCC TRACEOFF-1 引數。

  • 使用 -T 啟動選項來指定會在啟動期間設定追蹤旗標。

    -T 啟動選項會全域啟用追蹤旗標。 您無法使用啟動選項來啟用工作階段層級的追蹤旗標。 這可確保追蹤旗標在伺服器重新啟動後仍維持使用中。 如需啟動選項的詳細資訊,請參閱 Database Engine 服務啟動選項

  • 在查詢層級,請使用 QUERYTRACEON 查詢提示 \(機器翻譯\)。 只有在本文後面出現的表格中記錄的查詢最佳化工具追蹤旗標,才支援 QUERYTRACEON 選項。

使用 DBCC TRACESTATUS 命令可判斷目前有哪些使用中的追蹤旗標。

範例

下列範例使用 DBCC TRACEON 在伺服器層級為所有工作階段設定追蹤旗標 3205。

DBCC TRACEON (3205, -1);

您可以啟用由特定查詢的追蹤旗標 4199 和 4137 控制的所有計畫影響的 Hotfix。

SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137);

追蹤旗標

下表列出並描述 SQL Server 中可用的追蹤旗標。

Azure SQL 受控執行個體支援下列全域追蹤旗標:460、2301、2389、2390、2453、2467、7471、8207、9389、10316 及 11024。 SQL 受控執行個體中尚未支援工作階段追蹤旗標。

某些追蹤旗標已導入特定的 SQL Server 版本。 如需適當版本的詳細資訊,請參閱與特定追蹤旗標相關聯的 Microsoft 支援服務文章。

在未來的 SQL Server 版本中,不一定支援追蹤旗標行為。

追蹤旗標可以透過您能新增到 URL 結尾 (使用 #tfNNNN 這個格式) 的書籤以在表格中直接被引用。 例如,若要直接跳到表格中的追蹤旗標 1118,請使用 dbcc-traceon-trace-flags-transact-sql#tf1118

追蹤旗標 描述
101 使合併式複寫代理程式記錄更加詳盡。

重要:僅當從命令提示字元執行 replmerg.exe 時,才能使用 -T 選項,為複寫合併代理程式啟用追蹤旗標 101。

警告 追蹤旗標 101 的用途並非在生產環境中持續啟用,而是僅用於限期的疑難排解。 如需詳細資訊,請參閱 KB2892633 的封存版本。

範圍:僅限 Replication Merge Agent。
102 使 Replication Merge Agent 記錄更加詳盡,並將其導向至 <Distribution server>..msmerge_history 資料表。

重要:僅當從命令提示字元執行 replmerg.exe 時,才能使用 -T 選項,為複寫合併代理程式啟用追蹤旗標 102。

警告 追蹤旗標 102 的用途並非在生產環境中持續啟用,而是僅用於限期的疑難排解。 如需詳細資訊,請參閱 KB2892633 的封存版本。

範圍:僅限 Replication Merge Agent。
139 在相容性層級較低的資料庫上分析針對特定資料類型導入之相容性層級 130 所改善的精確度和轉換邏輯時,於 DBCC CHECKDBDBCC CHECKTABLEDBCC CHECKCONSTRAINTS 等 DBCC 檢查命令範圍中強制正確的轉換語意。 如需詳細資訊,請參閱 KB4010261

適用于: SQL Server 2016 (13.x) RTM CU 3、SQL Server 2016 (13.x) Service Pack 1 和更新版本。

警告:追蹤旗標 139 不應在生產環境中持續啟用,其唯一的用途是執行資料庫驗證檢查,如 KB4010261 中所述。 在完成驗證檢查後,應立即將它停用。

範圍:僅限全域。
174 將 64 位元系統上的 SQL Server 資料庫引擎計畫快取貯體計數從 40,009 增加至 160,001。 如需詳細資訊,請參閱 KB3026083

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:僅限全域。
176 解決為包含計算的分割資料行的資料表在線上重建分割區時所出現的錯誤。 如需詳細資訊,請參閱 KB3213683KB4541096

範圍:全域或工作階段。
205 當統計資料相依預存程式因為自動更新統計資料而重新編譯時,會向錯誤記錄檔報告。 如需詳細資訊,請參閱 KB195565 的封存版本。

附註:此追蹤旗標要求必須啟用追蹤旗標 3605

範圍:僅限全域。
260 列印擴充預存程序動態連結程式庫 (DLL) 的版本控制相關資訊。 如需 GetXpVersion() 的詳細資訊,請參閱建立擴充預存程序

範圍:全域或工作階段。
272 當伺服器意外重新啟動或容錯移轉至次要伺服器時,停用識別預先配置以避免識別欄位的值不連貫。 識別快取可用來改善含有識別資料行之資料表上的 INSERT 效能。

附註:從 SQL Server 2017 (14.x) 開始,若要在資料庫層級完成這項作業,請參閱 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 中的 IDENTITY_CACHE 選項。

範圍:僅限全域。
460 將資料截斷訊息識別碼 8152 取代成訊息識別碼 2628。 如需詳細資訊,請參閱 KB4468101

從 SQL Server 2019 (15.x) 開始,若要在資料庫層級完成此作業,請參閱 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 中的 VERBOSE_TRUNCATION_WARNINGS 選項。

適用于: SQL Server 2016 (13.x) Service Pack 2 CU 6、SQL Server 2017 (14.x) CU 12 和更新版本。

注意: 從資料庫相容性層級 150 開始,訊息識別碼 2628 是預設值,且此追蹤旗標沒有任何作用。 針對資料庫相容性層級 140 或更低層級,訊息識別碼 2628 會維持加入宣告錯誤訊息,需要啟用追蹤旗標 460,而且此資料庫範圍設定沒有作用。

範圍:全域或工作階段。
610 控制以最低限度方式插入索引資料表的行為。 從 SQL Server 2016 (13.x) 開始,不需要此追蹤旗標,因為索引資料表預設會開啟最低限度記錄。 在 SQL Server 2016 (13.x)中,當大量載入作業造成配置新頁面時,如果符合所有其他基本記錄的必要條件,則會循序填滿新頁面的所有資料列。 插入到現有頁面 (未配置新頁面) 以維持索引順序的資料列仍會完整記錄,這些是載入期間因頁面分割而移除的資料列。

此外也必須開啟索引的 ALLOW_PAGE_LOCKS (預設為開啟) 以啟用最低限度記錄作業,因為配置期間需要頁面鎖定,也因此只會記錄頁面或範圍配置。 如需詳細資訊,請參閱資料載入效能指南 (英文)。

範圍:全域或工作階段。
634 停用背景資料行存放區壓縮工作。 SQL Server 會針對含有未壓縮資料的資料行存放區索引資料列群組,定期執行 Tuple Mover 背景工作,一次壓縮一個資料列群組。

壓縮資料行存放區可提升查詢效能,但同時也會耗用系統資源。 您可以手動控制資料行存放區的壓縮時間,方法是在您選擇的時間,停用追蹤旗標為 634 的背景壓縮工作,然後明確地叫用 ALTER INDEX...REORGANIZE 或 ALTER INDEX...REBUILD。

範圍:僅限全域。
652 停用頁面預先擷取掃描。 如果您開啟追蹤旗標 652,在掃描取用這些資料庫頁面之前,SQL Server 不會再將資料庫頁面帶入緩衝集區。 因此,受益于頁面預先擷取功能的查詢會呈現較低的效能。

範圍:全域或工作階段。
661 停用準刪除記錄移除程序。 追蹤旗標 661 會停用準刪除記錄移除程序。 準刪除記錄是刪除作業的結果。 當刪除記錄時,已刪除的記錄會保留為準刪除記錄。 稍後再由准刪除記錄移除程序清除刪除的記錄。 當停用此程序時,不會清除已刪除的記錄。 所以,不會釋出已刪除記錄所耗用的空間。 此行為會影響空間耗用量和掃描工作的效能。 如需詳細資訊,請參閱准刪除清除程式指南

範圍:僅限全域。
692 在大量載入資料到堆積或叢集索引時停用快速插入。 從 SQL Server 2016 (13.x) 開始,當資料庫處於簡單或大量記錄復原模式時,依預設會啟用快速插入 (使用最低限度方式記錄),以最佳化將記錄插入到新頁面的插入效能。 透過快速插入,每個大量載入批次都會取得新的範圍,以略過現有範圍的配置查閱,並具有可用空間,以將插入效能優化。

使用快速插入,小批次的大量載入會導致物件耗用的未使用空間增加,因此建議您針對每個批次使用大批次以完全填滿範圍。 如果增加批次大小不可行,這個追蹤旗標能有助於減少保留的未使用空間,但會犧牲效能。

適用於:SQL Server 2016 (13.x) 和更新版本。

範圍:全域或工作階段。
715 啟用資料表鎖定,以將作業大量載入到不含非叢集索引的堆積。 啟用此追蹤旗標時,大量複製資料到資料表時,大量載入作業會取得大量更新 (BU) 鎖定。 大量更新 (BU) 鎖定允許多個執行緒將資料同時大量載入到相同資料表,同時禁止未大量載入資料的其他處理序存取該資料表。

此行為類似使用者在執行大量載入時明確指定 TABLOCK 提示時的行為,或針對指定的資料表啟用大量載入時的 sp_tableoption 資料表鎖定時的行為。 不過,啟用此追蹤旗標時,在不變更任何查詢或資料庫的情況下,此行為即為預設值。

範圍:全域或工作階段。
809 混合式緩衝集區啟用所謂的直接寫入行為。 此模式需要在與混合式緩衝集區相同的資料庫中啟用保存的記錄緩衝區直接寫入可讓混合式緩衝集區用作為中途分頁和乾淨頁面的快取,以減少 OLAP 和 OLTP 樣式工作負載 DRAM 緩衝集區的工作負載需求。 此追蹤旗標已在 SQL Server 2022 (16.x) 中引進,且該行為依預設會在 SQL Server 2022 (16.x) CU 1 中啟用。 如果您使用 SQL Server 2022 (16.x) CU 1 和更新版本,則會忽略追蹤旗標。
818 啟用額外的 I/O 診斷,以檢查在檔案 I/O 作業期間是否有遺失寫入或過時讀取的情況。 追蹤旗標 818 會啟用記憶體內部信號緩衝區,其用來追蹤 SQL Server 執行的最後 2,048 次成功寫入作業,但不包括排序和工作檔案 I/O 作業。 當發生錯誤 605、823 或 3448 等錯誤時,內送緩衝區記錄序號 (LSN) 值會與最近的寫入清單進行比較。 如果擷取的 LSN 比寫入作業期間指定的 LSN 還舊,即會在 SQL Server 錯誤記錄檔中記錄新的錯誤訊息。 如需詳細資訊,請參閱 SQL Server 診斷偵測未回報的 I/O 問題

注意: 從 SQL Server 2017 (14.x)開始,此追蹤旗標沒有任何作用。

範圍:僅限全域。
830 停用偵測及報告需要很長時間才能完成的 I/O 要求。 依預設,SQL Server 會使用一個機制來偵測需要長時間 (通常超過 15 秒) 的讀取和寫入 I/O 要求。 此追蹤旗標會停用此偵測。 如需詳細資訊,請參閱 MSSQLSERVER_833

附註:不建議您啟用此追蹤旗標,因為您可能會減少偵測系統上 I/O 問題的能力。

範圍:僅限全域。
834 為緩衝區集區、資料行存放區與記憶體內資料表使用大型分頁配置。 大型頁面大小會因硬體平台而異,但頁面大小為 2 MB 到 16 MB。 大型頁面是在啟動時配置,且於整個程序的存留期間保留。 追蹤旗標 834 藉由提高 CPU 中轉譯對應緩衝區 (TLB) 的效率,以改善效能。 換句話說,追蹤旗標 834 增加記憶體管理硬體所執行實體到虛擬記憶體位址轉譯的管理效率。 如需 SQL Server 和大型頁面的相關資訊,請檢閱下列部落格

附註:追蹤旗標 834 僅適用於 64 位元版本的 SQL Server。 您必須擁有 [鎖定記憶體中的分頁] 使用者權限,才能開啟追蹤旗標 834。 您只能在啟動時開啟追蹤旗標 834。 記憶體如已分割,且無法配置大型頁面時,追蹤旗標 834 會阻止伺服器啟動。 因此,追蹤旗標 834 最適合專用於 SQL Server 的伺服器。

注意: 啟用時,大型頁面記憶體模型會在實例啟動時預先配置所有 SQLOS 記憶體,且不會將該記憶體傳回 OS。

注意: 如果您使用 SQL Server 2012 (11.x) 和更新版本的資料行存放區索引功能,不建議開啟追蹤旗標 834。 如需詳細資訊,請參閱 KB3210239。 如果使用 SQL Server 2019 (15.x) 和資料行存放區,請參閱追蹤旗標 876

範圍:僅限全域。
836 緩衝集區請使用 [最大伺服器記憶體] 選項。 追蹤旗標 836 會讓 SQL Server 根據 [最大伺服器記憶體] 選項的值,而非總實體記憶體,在啟動時調整緩衝集區的大小。 您可以使用追蹤旗標 836 來減少在 32 位位址視窗延伸模組 (AWE) 模式啟動時配置的緩衝區描述項數目。

附註:追蹤旗標 836 只適用於已啟用 AWE 配置的 32 位元版本的 SQL Server。 您只能在啟動時開啟追蹤旗標 836。

範圍:僅限全域。
845 當 SQL Server 的服務帳戶啟用「鎖定記憶體中的分頁」權限時,會在 SQL Server 的標準 SKU 上啟用鎖定的分頁。 如需詳細資訊,請參閱 KB970070伺服器記憶體伺服器組態選項

注意: 從 SQL Server 2012 (11.x)開始,預設會針對標準 SKU 啟用此行為,而且不得使用追蹤旗標 845。

範圍:僅限全域。
876 使用資料行存放區的大型分頁配置。

注意: 不同于追蹤旗標 834,使用追蹤旗標 876 不會在實例啟動時預先配置 SQLOS 記憶體,而且可以釋放未使用的記憶體。

適用於:SQL Server 2019 (15.x) 和更新版本。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:僅限全域。
888 解決在 SQL Server 中啟用混合式緩衝集區的 PMEM 裝置效能降低,當 PMEM 裝置記憶體不足時。 如需詳細資訊,請參閱 KB4548103

適用于: SQL Server 2019 (15.x) CU 4 和更新版本。

範圍:僅限全域。
890 隱藏錯誤記錄檔中的長時間緩衝集區掃描完成訊息 (錯誤 898)。 如需緩衝集區掃描的詳細資訊,以及記錄在錯誤記錄檔中的訊息,請參閱觸發緩衝集區掃描的作業可能會在大型記憶體電腦上緩慢執行

適用於:SQL Server 2017 (14.x) 和更新版本。

範圍:僅限全域。
898 停用混合式緩衝集區直接寫入行為,以進行疑難排解或偵錯。 如需詳細資訊,請參閱 KB5022375

適用于: SQL Server 2022 (16.x) CU 1 和更新版本。

範圍:僅限全域。
902 安裝累計更新或 Service Pack 時略過執行資料庫升級指令碼。 如果在指令碼升級模式期間發生錯誤,建議您連絡 Microsoft SQL 客戶服務及支援 (CSS) 取得進一步指示。 如需詳細資訊,請參閱 KB2163980

警告:此追蹤旗標用於對指令碼升級模式期間失敗的更新進行疑難排解,而且不受支援在生產環境中連續執行。 資料庫升級指令碼必須順利執行,以完整安裝累積更新與 Service Pack。 否則可能會導致 SQL Server 執行個體發生未預期的問題。

範圍:僅限全域。
1117 當檔案群組中的某個檔案達到自動成長閾值時,檔案群組中的所有檔案都會成長。 此追蹤旗標會影響所有資料庫。 僅在每個資料庫中都可以安全地以相同數量增加檔案群組中的所有檔案時才建議使用。

注意: 從 SQL Server 2016 (13.x)開始,此行為是由 ALTER DATABASE 的 AUTOGROW_SINGLE_FILE 和 AUTOGROW_ALL_FILES 選項所控制,而追蹤旗標 1117 沒有任何作用。 如需詳細資訊,請參閱 ALTER DATABASE 檔案及檔案群組選項 (Transact-SQL)

範圍:僅限全域。
1118 強制在統一範圍 (而不是混合範圍) 內進行頁面配置,以減少 SGAM 頁面上的爭用。 建立新物件時,根據預設,前八頁會從不同的範圍 (混合範圍) 進行配置。 之後若需要更多頁面時,將會從相同的範圍 (統一範圍) 加以配置。 SGAM 頁面可用以追蹤這些混合範圍,因此若出現多個混合頁面配置,它會很快地成為瓶頸。 這個追蹤旗標會在建立新物件時,從相同的範圍配置所有八個頁面,進而將掃描 SGAM 頁面的需求降到最低。 如需詳細資訊,請參閱 KB328551

附註:從 SQL Server 2016 (13.x) 開始,此行為由 ALTER DATABASE 的 SET MIXED_PAGE_ALLOCATION 選項控制,追蹤旗標 1118 沒有任何作用。 如需詳細資訊,請參閱 ALTER DATABASE SET 選項 (Transact-SQL)

範圍:僅限全域。
1204 傳回參與死結之鎖定的資源和類型,以及目前受影響的命令。 如需死結的相關詳細資訊,請參閱死結指南

附註:請避免在會導致死結的大工作負載系統上使用追蹤旗標 1204。 如需偵測死結的其他方法的相關詳細資訊,請參閱死結指南

範圍:僅限全域。
1211 停用以記憶體壓力或鎖定個數為基礎的鎖定擴大。 SQL Server 資料庫引擎不會將資料列或頁面鎖定呈報至資料表鎖定。

使用此追蹤旗標可能會產生過多的鎖定數目,且如果鎖定記憶體增長到一定程度,則嘗試為任何查詢配置額外的鎖定可能會失敗。 這可能會降低資料庫引擎的效能,或因記憶體不足而造成 1204 錯誤 (無法配置鎖定資源)。

如果同時設定追蹤旗標 1211 與 1224,則將會優先採用 1211。 但是,由於追蹤旗標 1211 會在每一個情況下防止鎖定擴大 (即使是在記憶體壓力下),所以建議您改用 1224。 如此可避免在使用許多鎖定時,發生「鎖定不足」錯誤。

如需如何解決 SQL Server 中鎖定擴大所造成的封鎖問題詳細資訊,請參閱 KB323630

範圍:全域或工作階段。
1222 以不符合任何 XSD 結構描述的 XML 格式來傳回參與死結之鎖定的資源和類型,以及目前受影響的命令。 如需死結的相關詳細資訊,請參閱死結指南

附註:請避免在會導致死結的大工作負載系統上使用追蹤旗標 1222。 如需偵測死結的其他方法的相關詳細資訊,請參閱死結指南

範圍:僅限全域。
1224 停用以鎖定個數為基礎的鎖定擴大。 不過,記憶體壓力仍然可以啟動鎖定擴大。 如果鎖定物件使用的記憶體數量超出下列其中一個條件,資料庫引擎就會將資料列或頁面鎖定擴大至資料表 (或資料分割) 鎖定:

- 資料庫引擎所使用的 40% 記憶體。 只有當 sp_configurelocks 參數設為 0 時,這才適用。
- 使用 的 locks 參數 sp_configure 所設定 的 40% 鎖定記憶體。 如需詳細資訊,請參閱伺服器設定選項 (SQL Server)

如果同時設定追蹤旗標 1211 與 1224,則將會優先採用 1211。 但是,由於追蹤旗標 1211 會在每一個情況下防止鎖定擴大 (即使是在記憶體壓力下),所以建議您最好使用 1224。 如此可避免在使用許多鎖定時,發生「鎖定不足」錯誤。

注意: 您也可以使用 ALTER TABLE 陳述式的 LOCK_ESCALATION 選項來控制鎖定擴大到資料表層級或 HoBT 層級的資料粒度。

如需如何解決 SQL Server 中鎖定擴大所造成的封鎖問題詳細資訊,請參閱 KB323630

範圍:全域或工作階段。
1229 不論 CPU 的數目為何,都會停用所有鎖定資料分割。 根據預設,SQL Server 會在伺服器具有 16 或更多個 CPU 時啟用鎖定資料分割,以改善較大型系統的延展性特性。 如需鎖定資料分割的詳細資訊,請參閱交易鎖定和資料列版本設定指南

警告:追蹤旗標 1229 可能導致執行緒同步鎖定競爭及效能不佳。

範圍:僅限全域。
1236 啟用資料庫鎖定資料分割。 如需詳細資訊,請參閱 KB2926217

注意: 從 SQL Server 2012 (11.x) Service Pack 3 和 SQL Server 2014 (12.x) Service Pack 1 開始,此行為是由 資料庫引擎 控制,而追蹤旗標 1236 沒有任何作用。

範圍:僅限全域。
1237 使 ALTER PARTITION FUNCTION 陳述式遵循目前使用者定義的工作階段死結優先權,而非成為預設情況下可能的死結犧牲者。 如需詳細資訊,請參閱 KB4025261

注意: 從 SQL Server 2017 (14.x) 和資料庫 相容性層級 140 開始,這是預設行為,而追蹤旗標 1237 沒有任何作用。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
1260 停用排程器監視器傾印。

範圍:僅限全域。
1448 讓複寫記錄讀取器向前移動,即使非同步次要複本尚未認可收到變更也一樣。 即使啟用了此追蹤旗標,記錄讀取器一律會等待其同步處理狀態為 SYNCHRONIZED 的同步次要複本。 記錄讀取器不會超過 SYNCHRONIZED 次要的最低認可記錄序號。 此追蹤旗標會套用至 SQL Server 執行個體,而不只套用至可用性群組、可用性資料庫或記錄讀取器執行個體。 立即生效,不必重新啟動。 您可以事先或在非同步次要複本失敗時啟動此追蹤旗標。

範圍:僅限全域。
1462 停用非同步可用性群組的記錄資料流壓縮。 非同步可用性群組上預設會啟用此功能,以最佳化網路頻寬。 如需詳細資訊,請參閱 微調可用性群組的壓縮

範圍:僅限全域。
1800 在 SQL Server Always On 及記錄傳送環境中,當主要和次要複本記錄檔使用不同磁區大小的磁碟時啟用 SQL Server 最佳化。 只有在交易記錄檔位於磁區大小是 512 個位元組之磁碟上的 SQL Server 執行個體時,才需要啟用此追蹤旗標。 在磁區大小為 4 KB 的磁碟上 「不」 需要啟用它。 如需詳細資訊,請參閱 KB3009974

適用于: SQL Server 2012 (11.x) Service Pack 1 CU 13、SQL Server 2012 (11.x) Service Pack 2 CU 3、SQL Server 2014 (12.x) RTM CU 5 和更新版本。

範圍:僅限全域。
1802 在資料庫附加或卸離作業期間停用 ACL 變更與模擬存取驗證。 當附加資料庫並遇到存取權限錯誤 (例如錯誤 5120) 時,這可能很有用。

範圍:僅限全域。
1819 允許備份至 URL,以在存取 Azure 區塊 Blob 時使用 Proxy 伺服器。 除了此追蹤旗標之外,您還必須透過下列其中一種方法,在伺服器上設定 WinHTTP Proxy 設定:

- Windows XP 或 Windows Server 2003 與更早版本上的 proxycfg.exe 公用程式。
- Windows Vista 和 Windows Server 2008 和更新版本的 netsh.exe 公用程式。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
2301 啟用決策支援查詢特定的進階決策支援最佳化。 此選項適用於大型資料集的決策支援處理。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
2312 將查詢最佳化工具基數估計模型設定為 SQL Server 2014 (12.x) 和更新版本,不論資料庫的相容性層級為何。

附註:如果資料庫相容性層級低於 120,則啟用追蹤旗標 2312 時會使用 SQL Server 2014 (12.x) (120) 的基數估計模型。 如需詳細資訊,請參閱 KB2801413

從 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成此動作,請新增 USE HINT 'FORCE_DEFAULT_CARDINALITY_ESTIMATION'查詢提示,而不是使用此追蹤旗標。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
2335 對於設定最大伺服器記憶體伺服器設定太高的情況,會導致 SQL Server 在查詢最佳化期間假設有固定的記憶體數量可供使用,而對於特定的查詢,會導致 SQL Server 產生效率不佳的計畫。 它不會限制 SQL Server 授與執行查詢的記憶體。 資料快取、查詢執行和其他取用者仍會使用針對 SQL Server 設定的記憶體。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
2338 導致 SQL Server 在執行 UPDATE 陳述式以更新資料表中的索引時使用窄型的計畫。 當您對叢集索引資料行執行 UPDATE 時,SQL Server 不僅會更新叢集索引本身,也會更新所有非叢集索引,因為非叢集索引包含叢集索引鍵。 更新的常見方式是更新叢集索引,然後同時更新所有非叢集索引。 SQL Server 會更新一個資料列,接著移至下一個資料列,直到全部完成為止。 這稱為窄型的計畫更新,或者也稱為 Per-Row Update。 在某些情況下,資料庫引擎可以選擇執行廣泛的方案更新。 此追蹤旗標會強制進行窄型的計畫更新。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
2340 使 SQL Server 在計劃產生時不使用排序作業 (批次排序) 以取得最佳化巢狀迴圈聯結。 依預設,當查詢最佳化工具推斷出可能不需要排序時,SQL Server 可以使用最佳化的巢狀迴圈聯結 (而不是完整掃描或具有明確排序的巢狀迴圈聯結),但如果基數或成本估計不正確,則仍有可能。 如需詳細資訊,請參閱 KB2009160

從 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成此動作,請新增 USE HINT 'DISABLE_OPTIMIZED_NESTED_LOOP'查詢提示,而不是使用此追蹤旗標。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
2371 將固定更新統計資料閾值變更為線性更新統計資料閾值。 如需詳細資訊,請參閱此 AUTO_UPDATE_STATISTICS 選項

注意: 從 SQL Server 2016 (13.x) 和資料庫相容性層級 130 或更新版本 開始 ,此行為由 資料庫引擎 控制,而追蹤旗標 2371 沒有任何作用。

範圍:僅限全域。
2389 針對遞增值啟用自動產生的快速統計資料 (長條圖修正)。 如果設定追蹤旗標 2389,且前置統計資料資料行標示為遞增,則在查詢編譯時將調整用來預估基數的長條圖。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

附註:此追蹤旗標不適用於 CE 120 版或更新版本。 請改用追蹤旗標 4139。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
2390 針對遞增或不明值啟用自動產生的快速統計資料 (長條圖修正)。 如果設定追蹤旗標 2390,且前置統計資料資料行標示為遞增或不明,則在查詢編譯時將調整用來預估基數的長條圖。 如需詳細資訊,請參閱 KB2801413

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

附註:此追蹤旗標不適用於 CE 120 版或更新版本。 請改用追蹤旗標 4139。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
2422 會在超過 Resource Governor REQUEST_MAX_CPU_TIME_SEC 設定所設定的時間上限時,啟用 SQL Server 資料庫引擎以中止要求。 如需詳細資訊,請參閱 KB4038419

適用于: SQL Server 2016 (13.x) Service Pack 2、SQL Server 2017 (14.x) CU 3 和更新版本。

範圍:僅限全域。
2430 啟用其他鎖定類別清除作業。 如需詳細資訊,請參閱 KB2754301

範圍:僅限全域。
2446 導致 SQL Server 在使用輕量型查詢執行統計資料分析基礎結構時,或在排解長時間執行的查詢問題時執行 sys.dm_exec_query_statistics_xml DMV 時,產生具有 ParameterRuntimeValue 的 Showplan XML 片段。

適用于: SQL Server 2017 (14.x) CU 31、SQL Server 2019 (15.x) CU 19 和 SQL Server 2022 (16.x) 和更新版本。

警告:追蹤旗標 2446 的用途並非在生產環境中持續啟用,而是僅用於限期的疑難排解。 使用此追蹤旗標會導入額外的且可能重要的 CPU 和記憶體額外負荷,因為我們會建立具有執行時間參數資訊的 Showplan XML 片段,無論 sys.dm_exec_query_statistics_xml 是否呼叫 DMV。

附註:從 SQL Server 2022 (16.x) 開始,若要在資料庫層級完成這項作業,請參閱 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 中的 FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION 選項。

範圍:僅限全域。
2451 啟用 sys.dm_exec_query_plan_stats 中最後一個實際執行計畫的對等項目。

適用於:SQL Server 2019 (15.x) 和更新版本。

注意: 從 SQL Server 2019 (15.x) 開始,若要在資料庫層級完成此作業,請參閱 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 中的 LAST_QUERY_PLAN_STATS 選項。

範圍:僅限全域。
2453 變更足夠數目的資料列時,允許資料表變數觸發重新編譯。 如需詳細資訊,請參閱 KB2952444

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
2467 根據哪個節點有最新的已配置執行緒而定,啟用替代的平行背景工作執行緒配置原則。 如需詳細資訊,請參閱平行查詢處理。 請參閱設定最大工作者執行緒伺服器設定選項,以取得有關如何設定最大工作者執行緒伺服器選項的詳細資訊。

注意: 查詢平行處理原則程度 (DOP) 必須容納到單一節點中,才能使用此替代原則,否則會改為使用預設執行緒配置原則。 使用此追蹤旗標時,建議不要執行所指定 DOP 超過單一節點中排程器數目的查詢,因為這會干擾所指定 DOP 小於或等於單一節點中排程器數目的查詢。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:僅限全域。
2469 INSERT INTO ... SELECT 和磁碟分割資料行存放區索引之間啟用其他交換。 如需詳細資訊,請參閱 KB3204769

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
2528 停用藉由 DBCC CHECKDBDBCC CHECKFILEGROUPDBCC CHECKTABLE 對物件進行平行檢查。 依預設,查詢處理器會自動判斷平行處理原則的程度。 最大平行處理原則程度的設定方式與平行查詢相同。 如需詳細資訊,請參閱 設定 max degree of parallelism 伺服器組態選項

注意: 平行 DBCC 檢查通常應為啟用 (預設)。 查詢處理器會針對 DBCC CHECKDB 檢查的每份資料表或資料表批次重新評估和自動調整平行處理原則。

一般使用案例是當系統管理員知道 DBCC CHECKDB 完成前伺服器負載會增加,因此選擇手動減少或停用平行處理原則,以增加並行的其他使用者工作負載。 不過,在 DBCC CHECKDB 中停用平行檢查,可能需要更多時間才能完成。

附註:如果使用 TABLOCK 選項執行 DBCC CHECKDB,且已停用平行處理原則,則資料表鎖定的時間可能會更長。

附註:從 SQL Server 2014 (12.x) Service Pack 2 開始,MAXDOP 選項可用來覆寫 DBCC 陳述式的 sp_configure 的 [平行處理原則的最大程度] 設定選項。

範圍:全域或工作階段。
2544 導致 SQL Server 的記憶體傾印變成完整傾印 (預設為迷你傾印)。 完整傾印是作用中目標處理程序記憶體的完整複本。 這將包括所有執行緒狀態、所有處理程序配置的記憶體,以及所有載入的模組。 因此,完整傾印的大小大致上是 SQL Server 進程所使用的記憶體數量,這反過來可能幾乎和系統 RAM 總計一樣大。 在專用於單一 SQL Server 執行個體的大型伺服器上,它可能意味著一個數百個 GB 或更大的檔案。

警告:產生完整記憶體傾印可能會使 SQL Server 處理程序暫停較長的時間 (幾秒到幾分鐘),而且可能會產生一個非常大的傾印檔。 請謹慎使用它,只有在情況需要時才會很少使用。

如需詳細資訊,請參閱使用 Sqldumper.exe 公用程式以在 SQL Server 中產生傾印檔案

範圍:僅限全域。
2549 強制 DBCC CHECKDB 命令以假設每個資料庫檔案都在唯一磁碟機上,但將不同實體檔案視為單一邏輯檔案。 DBCC CHECKDB 命令會跨所有資料庫檔案建立要在每個唯一磁碟機內讀取的內部分頁清單。 此邏輯判斷唯一磁碟機的依據,是每個檔案之實際檔案名稱的磁碟機代號。

附註:除非您已知每個檔案是以唯一實體磁碟為基礎,否則請勿使用此追蹤旗標。

附註:雖然此追蹤旗標可提高以使用 PHYSICAL_ONLY 選項為目標的 DBCC CHECKDB 命令的效能,但一些使用者可能看不到效能有任何改善。 此追蹤旗標可改善磁碟 I/O 資源用量,但磁碟資源的基礎效能可能會限制 DBCC CHECKDB 命令的整體效能。 如需詳細資訊,請參閱 KB2634571

範圍:僅限全域。
2551 導致 SQL Server 的記憶體傾印變成篩選的傾印 (預設為迷你傾印)。 這會擷取完整記憶體的百分比,其中與 SQL Server 相關的大型記憶體結構區會有目的地被篩選掉,而且不會序列化到磁碟,因為它們沒有帶來疑難排解的附加價值 (通常是資料/索引頁面、一些像是記憶體內部 OLTP 資料頁面和 Log Pool 記憶體的內部快取)。 這會導致檔案在迷你傾印不夠的大多數情況下保留其作為慣用選項的大部分有用性時,小於完整記憶體傾印。 如需詳細資訊,請參閱使用 Sqldumper.exe 公用程式以在 SQL Server 中產生傾印檔案

範圍:僅限全域。
2562 無論資料庫中的索引數目為何,一律會在單一「批次」中執行 DBCC CHECKDB 命令。 根據預設,DBCC CHECKDB 命令會使用「批次」概念來嘗試限制其產生的索引或「事實」數目,以將 tempdb 資源數量減到最低。 但此追蹤旗標會將所有處理強制成單一批次。

使用此追蹤旗標的其中一個影響是 tempdb 空間需求可能會增加。 tempdb 可能成長至 DBCC CHECKDB 命令所處理使用者資料庫的 5% 或以上。

附註:雖然此追蹤旗標可提高以使用 PHYSICAL_ONLY 選項為目標的 DBCC CHECKDB 命令的效能,但一些使用者可能看不到效能有任何改善。 此追蹤旗標可改善磁碟 I/O 資源用量,但磁碟資源的基礎效能可能會限制 DBCC CHECKDB 命令的整體效能。 如需詳細資訊,請參閱 KB2634571

範圍:全域或工作階段。
2566 除非指定 DATA_PURITY 選項,否則請執行不含資料純度檢查的 DBCC CHECKDB 命令。

附註:預設會啟用資料行值的完整性檢查,而不需要 DATA_PURITY 選項。 針對從舊版 SQL Server 升級的資料庫,在毫無錯誤的情況下完成對資料庫執行 DBCC CHECKDB WITH DATA_PURITY 至少一次之前,預設不會啟用資料行值檢查。 此後,依預設 DBCC CHECKDB 會檢查資料行值的完整性。 如需詳細資訊,請參閱 KB945770 的封存版本。

範圍:僅限全域。
2592 會在安裝 「Windows 偵錯工具」 時在堆疊傾印上啟用符號解析。 例如,使用追蹤旗標 3656 時,會要求啟用追蹤旗標 2592。

警告:這是偵錯追蹤旗標,不適用於生產環境。

適用於:SQL Server 2019 (15.x) 和更新版本。

範圍:全域和工作階段。
2610 使用 SQLDumper 和 透過 DBCC STACKDUMP 啟用記憶體傾印壓縮和更快速的傾印產生 。 如需詳細資訊,請參閱 使用 Sqldumper.exe 公用程式在 SQL Server 中產生傾印檔案。

適用于: SQL Server 2022 (16.x) CU 8、SQL Server 2019 (15.x) CU 23 和更新版本。

範圍:全域和工作階段。
3023 啟用 CHECKSUM 選項,做為 BACKUP 命令的預設值。

注意: 從 SQL Server 2014 (12.x) 開始,此行為是由設定 備份總和檢查碼預設 組態選項來控制。 如需詳細資訊,請參閱備份總和檢查碼預設伺服器組態選項 (SQL Server)

範圍:全域和工作階段。
3042 略過預設備份壓縮預先配置演算法,只允許備份檔案視需要成長以達到其最終大小。 如果您只要配置壓縮備份所需的實際大小,藉以節省空間,這個追蹤旗標就很有用。 使用此追蹤旗標可能會導致效能稍微降低 (可能會增加備份作業的持續時間)。 如需預先配置演算法的詳細資訊,請參閱 備份壓縮 (SQL Server)

範圍:僅限全域。
3051 僅針對 Azure 儲存體中的分頁 Blob 啟用 SQL Server 備份至 URL 記錄。 記錄會寫入特定的錯誤記錄檔。 如需詳細資訊,請參閱 SQL Server 備份至 URL 的最佳做法和疑難排解

範圍:僅限全域。
3205 依預設,如果磁帶機支援硬體壓縮,DUMP 或 BACKUP 陳述式就會使用它。 當使用這個追蹤旗標時,您可以停用磁帶機的硬體壓縮。 當您要與其他不支援壓縮的站台或磁帶機交換磁帶時,這非常有用。

範圍:全域或工作階段。
3226 依預設,每項成功的備份作業都會在 SQL Server 錯誤記錄檔與系統事件記錄檔加入一筆輸入。 如果您經常建立記錄備份,這些成功訊息可能會快速累積,因而產生龐大的錯誤記錄檔,讓您變得難以找到其他訊息。

透過這個追蹤旗標,您可以隱藏這些記錄項目。 如果您正執行經常記錄備份,而且沒有任何指令碼相依於這些項目,這樣做就會很有用。

範圍:僅限全域。
3427 在許多連續性交易將資料插入 SQL Server 2016 (13.x) 中的暫存資料表 (其中此作業比 SQL Server 2014 (12.x) 消耗更多的 CPU) 時,啟用對問題的修正。 如需詳細資訊,請參閱 KB3216543

適用于: SQL Server 2016 (13.x) Service Pack 1 CU 2 到 SQL Server 2016 (13.x) Service Pack 2 CU 2。 從 SQL Server 2016 (13.x) Service Pack 2 CU 3 和 SQL Server 2017 (14.x) 開始,此追蹤旗標沒有任何作用。

範圍:僅限全域。
3428 次要複本上的 Always On 重做執行緒有時可能會遭受 T-SQL 查詢的封鎖,這可能會導致同步處理延遲。 此追蹤旗標會將其鎖定逾時設為 60 秒來終止這類的封鎖查詢。 如需重做執行緒延遲的詳細資訊,請參閱重做執行緒因資源競爭而落後對 Always On 可讀取次要複本上的 REDO 佇列建置 (資料延遲問題) 進行疑難排解

警告:在生產環境中部署此選項之前,請務必先測試並瞭解此選項,因為查詢可能會終止。

適用於:SQL Server 2019 (15.x)

範圍:僅限全域。
3459 停用平行重做。 如需詳細資訊,請參閱 KB3200975KB4101554 及此部落格文章:可用性群組次要複本重做模型和效能

適用于: SQL Server 2016 (13.x)、SQL Server 2017(14.x)和更新版本。

範圍:僅限全域。
3468 停用 tempdb 上的間接檢查點

適用于: SQL Server 2016 (13.x) Service Pack 1 CU 5、SQL Server 2017 (14.x) CU 1 和更新版本。

範圍:僅限全域。
3502 用來將檢查點狀態變更傳送至錯誤記錄檔。

適用于: SQL Server 2012 (11.x) 和更新版本。

範圍:全域或工作階段。
3605 將追蹤訊息重新導向至 SQL Server 錯誤記錄檔。 例如,使用追蹤旗標 205 與 8721 時,需要啟用追蹤旗標 3605。

警告:這是偵錯追蹤旗標,不應在生產環境中持續啟用。

範圍:全域或工作階段。
3608 防止 SQL Server 自動啟動並復原任何資料庫,但 master 資料庫除外。 若起始了需要 tempdb 的活動,則會復原 model 並建立 tempdb。 其他資料庫會在存取時啟動和復原。 但是,某些功能 (例如快照集隔離和讀取認可的快照集) 可能無法運作。 用於移動系統資料庫移動使用者資料庫

附註:請勿在一般作業期間使用。

範圍:僅限全域。
3625 使用 '******' 來遮罩某些錯誤訊息的參數,藉以限制傳回給非 sysadmin 固定伺服器角色成員之使用者的資訊量。 這樣做有助於避免洩漏機密資訊。

範圍:僅限全域。
3656 在安裝 Windows 偵錯工具之後,啟用堆疊傾印的符號解析。

警告:這是偵錯追蹤旗標,不適用於生產環境。

注意: 從 SQL Server 2019 (15.x)開始,追蹤旗標 2592 必須啟用追蹤旗 標 3656 才能啟用符號解析。

範圍:全域和工作階段。
3880 停用檢查可繼續索引狀態的計時器工作。

適用于: SQL Server 2017 (14.x) 和更新版本,適用于高效能工作負載的高端系統。

範圍:全域或工作階段。
3924 允許自動移除具有 SPID =-2 的孤立 DTC 交易 (其對部分第三方交易監視而言會產生問題)。 如需詳細資訊,請參閱 KB4519668KB4511816

範圍:僅限全域。
3972 停用並行分頁可用空間 (PFS) 更新功能。 如需並行 PFS 更新的詳細資訊,請參閱智慧型效能。 對於此追蹤旗標對其有用的問題,請參閱使用資料庫快照集 KB5007794 復原次要可用性資料庫期間未產生排程器傾印。

範圍:僅限全域。
4022 停用 SQL Server 啟動時自動執行預存程序。 如需有關自動執行啟動預存程序的詳細資訊,請參閱 sp_procoption

範圍:僅限全域。
4043 修正您在 PolyBase 外部資料表上套用安全性原則,並在 SQL Server 2019 (15.x) 中使用 Row-Level Security (RLS) 時所發生的錯誤。 錯誤訊息類似下列文字:「安全性述詞只能新增至使用者資料表和架構系結檢視」如需詳細資訊,請參閱 KB4552159

範圍:全域或工作階段。
4136 除非使用 、 WITH RECOMPILEOPTIMIZE FOR <value> ,否則 OPTION(RECOMPILE) 會停用參數探查。 如需詳細資訊,請參閱 KB980653

從 SQL Server 2016 (13.x) 開始,若要在資料庫層級完成此動作,請參閱 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 中的 PARAMETER_SNIFFING 選項。

若要在查詢層級達到相同結果,請新增 OPTIMIZE FOR UNKNOWN 查詢提示。 OPTIMIZE FOR UNKNOWN 提示不會停用參數探查機制,但會有效地略過該機制,以達到相同的預期結果。
從 SQL Server 2016 (13.x) Service Pack 1 開始,在查詢層級完成此動作的第二個選項是新增 USE HINT 'DISABLE_PARAMETER_SNIFFING'查詢提示,而不是使用此追蹤旗標。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:全域或工作階段。
4137 在 SQL Server 2012 (11.x) 及更舊版本 (70) 的查詢最佳化工具基數估計 (CE) 模型下,當評估用來說明部分關聯性 (而非獨立) 的篩選條件 AND 述詞時,會導致 SQL Server 以最少的選擇性產生計畫。 如需詳細資訊,請參閱 KB2658214

從 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成此動作,請在使用 CE 70 時新增 USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES'查詢提示,而不是使用此追蹤旗標。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

附註:此追蹤旗標不適用於 CE 120 版或更新版本。 請改用追蹤旗標 9471。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
4138 導致 SQL Server 產生的計劃不使用資料列目標調整來處理包含 TOP、OPTION (FAST N)、IN 或 EXISTS 關鍵字的查詢。 如需詳細資訊,請參閱 KB2667211

從 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成此動作,請新增 USE HINT 'DISABLE_OPTIMIZER_ROWGOAL'查詢提示,而不是使用此追蹤旗標。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
4139 不論索引鍵資料行狀態為何,啟用自動產生的快速統計資料 (長條圖修正)。 如果已設定追蹤旗標 4139,不論前置統計資料資料行狀態(遞增、遞減或靜止),用於估計基數的長條圖會在查詢編譯時期進行調整。 如需詳細資訊,請參閱 KB2952101

從 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成此動作,請新增 USE HINT 'ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS'查詢提示,而不是使用此追蹤旗標。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

附註:此追蹤旗標不適用於 CE 70 版。 請改用追蹤旗標 2389 和 2390。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
4199 啟用在 SQL Server 累積更新和 Service Pack 中發行的「查詢最佳化工具」(QO) 修正。

根據指定產品版本中最新的資料庫相容性層級,預設會啟用對舊版 SQL Server 所做的 QO 變更,而不啟用追蹤旗標 4199。 如需詳細資訊,請參閱 KB974006

來自所有先前資料庫相容性層級的 QO 變更:
- 若啟用了追蹤旗標 4199,則也會啟用來自所有先前資料庫相容性層級的查詢最佳化工具變更。
- 如果追蹤旗標 4199 已停用或未設定,則會從相容性層級 130 開始啟用查詢最佳化工具變更。 針對低於 130 的相容性層級,會停用查詢最佳化工具變更。

RTM 後 DE 版本的 QO 變更:
- 若啟用了追蹤旗標 4199,則會針對 RTM 後的資料庫引擎版本啟用查詢最佳化工具變更。
- 如果追蹤旗標 4199 已停用或未設定,則會針對 RTM 後的資料庫引擎版本停用查詢最佳化工具變更。

從 SQL Server 2016 (13.x) 開始,若要在資料庫層級完成此動作,請參閱 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 中的 QUERY_OPTIMIZER_HOTFIXES 選項。

從 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成此動作,請新增 USE HINT 'ENABLE_QUERY_OPTIMIZER_HOTFIXES'查詢提示,而不是使用此追蹤旗標。

重要:追蹤旗標 4199 不會啟用處理錯誤結果或存取違規錯誤的「查詢最佳化工具」修正。 那些修正並不被視為選擇性修正,而會在安裝更新套件之後變成預設啟用的修正。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
4610 將儲存快取項目之雜湊表的大小增加 8 倍。 與追蹤旗標 4618 搭配使用時,將 TokenAndPermUserStore 快取存放區中的專案數目增加到 8,192。 如需針對 TokenAndPermUserStore 快取大小問題進行疑難排解的詳細資訊,請參閱 當 TokenAndPermUserStore 快取的大小在 SQL Server 中成長時,查詢需要較長的時間才能完成。

範圍:僅限全域。
4616 讓應用程式角色可以看見伺服器層級的中繼資料。 在 SQL Server 中,應用程式角色不能存取本身資料庫之外的中繼資料,因為應用程式角色與伺服器層級主體沒有關聯。 這是和舊版 SQL Server 不同的一項行為變更。 設定這個全域旗標可停用新限制,使應用程式角色可以存取伺服器層級的中繼資料。

範圍:僅限全域。
4618 將 TokenAndPermUserStore 快取存放區中的項目數限制為 1,024。 與追蹤旗標 4610 一起使用時,TokenAndPermUserStore 快取存放區中的項目數會增加至 8,192。 如需針對 TokenAndPermUserStore 快取大小問題進行疑難排解的詳細資訊,請參閱 當 TokenAndPermUserStore 快取的大小在 SQL Server 中成長時,查詢需要較長的時間才能完成。

範圍:僅限全域。
4621 將 TokenAndPermUserStore 快取存放區中專案數目限制為使用者在登錄機碼中指定的數目。 如需詳細資訊,請參閱 KB959823

範圍:僅限全域。
4631 停用 SHA2_256/AES256 來雜湊產生加密金鑰的密碼。 從 SQL Server 2017 (14.x) 開始,會使用 SHA2 而不是 SHA1。 這表示可能需要額外的步驟,才能讓您的 SQL Server 2017 (14.x) 安裝解密 SQL Server 2016 (13.x) 已加密的項目,如在 「在兩部伺服器上建立相同的對稱金鑰」 中所述。 如需詳細資訊,請參閱 KB4053407

適用於:SQL Server 2017 (14.x) 和更新版本。

範圍:僅限全域。
5004 暫停 TDE 加密掃描,並導致加密掃描背景工作結束,而不執行任何工作。 資料庫會繼續處於加密狀態(進行中加密)。 若要繼續重新加密掃描,請停用追蹤旗標 5004 並執行 ALTER DATABASE <database_name> SET ENCRYPTION ON。

範圍:僅限全域。
6408 啟用估計執行計畫的可見性,以查看 PolyBase 下推計算的遠端查詢計畫。

適用於:SQL Server 2019 (15.x) 和更新版本。 如需詳細資訊,請參閱如何判斷是否發生外部下推

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
6498 在沒有足夠記憶體可用時啟用多個大型查詢編譯,以獲得大型閘道的存取權。 此追蹤旗標可用來保留記憶體使用量,以便在受控制的情況下對傳入查詢進行編譯,避免編譯等候並行的大型查詢。 它是以 80% 的 SQL Server 目標記憶體值為基礎,而且允許每 25 GB 記憶體進行一次大型查詢編譯。 如需詳細資訊,請參閱 KB3024815

注意: 從 SQL Server 2014 (12.x) Service Pack 2 和 SQL Server 2016 (13.x) 開始,此行為是由 資料庫引擎 所控制,而追蹤旗標 6498 沒有任何作用。

範圍:僅限全域。
6527 在 CLR 整合中第一次發生記憶體不足的例外狀況時停用記憶體傾印的產生。 依預設,在 CLR 中第一次發生記憶體不足的例外狀況時,SQL Server 會產生小型的記憶體傾印。 追蹤旗標的行為如下:

- 如果這是作為啟動追蹤旗標使用,則永遠不會產生記憶體傾印。 不過,如果使用了其他的追蹤旗標,就可能產生記憶體傾印。
- 如果在執行中的伺服器上啟用此追蹤旗標,則不會從該點自動產生記憶體傾印。 不過,如果因為 CLR 中的記憶體不足例外狀況而產生記憶體傾印,此追蹤旗標就不會有任何作用。

範圍:僅限全域。
6532 在 SQL Server 2012 (11.x) 和 SQL Server 2014 (12.x) 中,啟用空間資料類型的查詢作業的效能改善。 效能提升會根據組態、查詢類型和物件而有所不同。 如需詳細資訊,請參閱 KB3107399

注意: 從 SQL Server 2016 (13.x)開始,此行為是由資料庫引擎控制,而追蹤旗標 6532 沒有任何作用。

範圍:全域和工作階段。
6533 在 SQL Server 2012 (11.x) 和 SQL Server 2014 (12.x) 中,啟用空間資料類型的查詢作業的效能改善。 效能提升會根據組態、查詢類型和物件而有所不同。 如需詳細資訊,請參閱 KB3107399

注意: 從 SQL Server 2016 (13.x)開始,此行為是由 資料庫引擎 控制,而追蹤旗標 6533 沒有任何作用。

範圍:全域和工作階段。
6534 從 SQL Server 2012 (11.x) 開始,啟用空間資料類型的查詢作業的效能改善。 效能提升會根據組態、查詢類型和物件而有所不同。 如需詳細資訊,請參閱 KB3107399

範圍:僅限全域。
6545 啟用 CLR 嚴格安全性。 如需詳細資訊,請參閱 KB4018930

適用于: SQL Server 2012 (11.x) Service Pack 3 CU 10、SQL Server 2014 (12.x) Service Pack 2 CU 6、SQL Server 2016 (13.x) RTM CU 7、SQL Server 2016 (13.x) Service Pack 1 CU 4 和更新版本。 從 SQL Server 2017 (14.x) 開始,此功能預設會啟用,追蹤旗標 6545 沒有任何作用。

範圍:僅限全域。
6559 啟用變更預設 CLR 執行緒模型邏輯的修正。 如需詳細資訊,請參閱 KB4517771

適用于: SQL Server 2016 (13.x) Service Pack 2 CU 10、SQL Server 2017 (14.x) CU 18、SQL Server 2019 (15.x) CU 1 和更新版本。

範圍:僅限全域。
7117 減輕您在有多個巢狀插入時可能會遇到的判斷提示失敗。 如果 PVS 位設定為可能已中止交易一部分的資料列,此追蹤旗標可讓永續性版本存放區 (PVS) 清除程式執行緒繼續。 此追蹤旗標可讓 PVS 清除器忽略位並繼續清除作業。

適用于: SQL Server 2022 (16.x) CU 9 和更新版本。

範圍:僅限全域。
7314 強制將有效位數/小數位數不明的數值視為帶有 OLE DB 提供者的雙精度浮點數值。 如需詳細資訊,請參閱 KB3051993

範圍:全域和工作階段。
7412 啟用分析基礎結構的輕量型查詢執行統計資料。 如需詳細資訊,請參閱 KB3170113

適用於:SQL Server 2016 (13.x) Service Pack 1 以及更新版本。 從 SQL Server 2019 (15.x)開始,此追蹤旗標沒有任何作用,因為預設會啟用輕量型分析。

範圍:僅限全域。
7470 為排序作業所需的記憶體授權啟用額外計算。 如需詳細資訊,請參閱 KB3088480

適用于: SQL Server 2012 (11.x) Service Pack 2 CU 8、SQL Server 2014 (12.x) RTM CU 10、SQL Server 2014 (12.x) Service Pack 1 CU 3 和更新版本。

警告: 追蹤旗標 7470 會使用排序運算子增加查詢的記憶體需求,並可能會影響其他並行查詢的記憶體可用性。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
7471 同時在單一資料表上對不同的統計資料執行多個 UPDATE STATISTICS。 如需詳細資訊,請參閱 KB3156157

適用于: SQL Server 2014 (12.x) Service Pack 1 和更新版本。

範圍:僅限全域。
7745 強制查詢存放區在資料庫關機時不排清資料到磁碟。

附註:使用此追蹤旗標可能會導致先前未排清至磁碟的查詢存放區資料在關機時遺失。 如果要將 SQL Server 關機,可以使用 SHUTDOWN WITH NOWAIT 命令取代此追蹤旗標來強制立即關機。

範圍:僅限全域。
7752 啟用非同步載入查詢存放區。

附註:如果 SQL Server 有大量與查詢存放區同步載入 (資料庫復原期間的預設行為) 相關的 QDS_LOADDB 等待工作,請使用這個追蹤旗標。

注意: 從 SQL Server 2019 (15.x)開始,此行為是由資料庫引擎控制,而追蹤旗標 7752 沒有任何作用。

範圍:僅限全域。
7806 在 SQL Server Express 上啟用專用管理員連接 (DAC)。 依預設,在 SQL Server Express 上不會保留任何 DAC 資源。 如需詳細資訊,請參閱 資料庫管理員的診斷連接

範圍:僅限全域。
8011 停用資源監視器的信號緩衝區。 您可使用此通道緩衝區中的診斷資訊來診斷記憶體不足情況。 因此,如果使用此追蹤旗標,就會大幅減少可用來診斷 SQL Server 效能與運作問題的資訊。 追蹤旗標 8011 一律適用於整部伺服器,且具有全域範圍。 您可以在啟動時或在使用者會話中開啟追蹤旗標 8011。

範圍:僅限全域。
8012 停用排程器的信號緩衝區。 每次發生下列其中一個事件時,SQL Server 都會記錄排程通道緩衝區中的事件:
- 排程器將內容切換至另一個背景工作角色
- 背景工作角色暫停時
- 背景工作角色繼續時
- 背景工作角色進入先佔式模式或非先佔式模式模式。

您可使用此通道緩衝區中的診斷資訊來分析排程問題。 例如,您可使用此通道緩衝區中的資訊,在 SQL Server 停止回應時針對問題進行疑難排解。 追蹤旗標 8012 會停用記錄排程器事件。 您只能在啟動時開啟追蹤旗標 8012。

警告:當您使用此追蹤旗標時,可供診斷 SQL Server 效能與運作問題的資訊就會大幅減少。

範圍:僅限全域。
8015 停用自動偵測和 NUMA 設定。 如需詳細資訊,請參閱 KB2813214

範圍:僅限全域。
8018 停用例外狀況信號緩衝區。 例外狀況通道緩衝區會記錄節點最後發生的 256 件例外狀況。 每一筆記錄都會包含錯誤的相關資訊,並包含堆疊追蹤。 發生例外狀況時,記錄即會新增至通道緩衝區。 追蹤旗標 8018 會停用建立通道緩衝區,且不會記錄任何例外狀況資訊。 追蹤旗標 8019 會在建立記錄期間停用堆疊集合。

警告:當您使用此追蹤旗標時,可供診斷 SQL Server 效能與運作問題的資訊就會大幅減少。

範圍:僅限全域。
8019 停用例外狀況信號緩衝區的堆疊集合。 如果開啟追蹤旗標 8018,追蹤旗標 8019 就不會有任何作用。

警告:當您使用此追蹤旗標時,可供診斷 SQL Server 效能與運作問題的資訊就會大幅減少。

範圍:僅限全域。
8020 停用工作集監視。 SQL Server 在收到來自作業系統的全域記憶體狀態訊號時,會使用工作集的大小。 當 SQL Server 解讀全域記憶體狀態訊號時,追蹤旗標 8020 會移除考慮的工作集記憶體大小。 如果不能正確使用此追蹤旗標,可能會發生繁重的分頁作業,而且效能會變差。 因此,在您開啟追蹤旗標 8020 之前,請連絡Microsoft 支援服務。 您只能在啟動時開啟追蹤旗標 8020。

範圍:僅限全域。
8032 將快取限制參數還原為 SQL Server 2005 (9.x) 設定,這通常會允許使用更大的快取。 當經常重複使用的快取項目無法納入快取中,以及 針對特定工作負載最佳化伺服器組態選項 無法解決計畫快取的問題時,請使用這項設定。

警告: 如果大型快取為其他記憶體取用者 (例如緩衝集區) 提供較少的記憶體,追蹤旗標 8032 可能會導致效能降低。

範圍:僅限全域。
8048 將 NUMA 分割記憶體物件轉換成 CPU 分割記憶體物件。 如需詳細資訊,請參閱 KB2809338

注意: 從 SQL Server 2014 (12.x) Service Pack 2 和 SQL Server 2016 (13.x) 開始,此行為是動態的,並由資料庫引擎控制。

範圍:僅限全域。
8075 會在您在 64 位元的 SQL Server 2012 (11.x) 或 SQL Server 2014 (12.x) 上收到記憶體頁面配置錯誤時,減少 VAS 片段。 如需詳細資訊,請參閱 KB3074434

適用于: SQL Server 2012 (11.x)、SQL Server 2014 (12.x) RTM CU 10 和 SQL Server 2014 (12.x) Service Pack 1 CU 3。 從 SQL Server 2016 (13.x) 開始,此行為是由 資料庫引擎 控制,而追蹤旗標 8075 沒有任何作用。

範圍:僅限全域。
8079 允許 SQL Server 2014 (12.x) Service Pack 2 在每一 NUMA 節點回報 8 個或更多 CPU 的系統上質詢硬體配置及自動設定軟體式 NUMA。 自動軟體 NUMA 行為是同時多執行緒(SMT/邏輯處理器)感知。 其他節點的分割和建立可藉由增加接聽程式數目、調整以及網路和加密功能,來調整背景處理的規模。

適用于: SQL Server 2014 (12.x) Service Pack 2。 從 SQL Server 2016 (13.x) 開始,此行為是由 資料庫引擎 控制,而追蹤旗標 8079 沒有任何作用。

範圍:僅限全域。
8086 停用記憶體認可的 NUMA 區域檢查。

適用於:SQL Server 2019 (15.x) 和更新版本。

範圍: 全域。
8089 在 SQL Server 2017 (14.x) CU 16 中,您可以啟用點陣圖篩選功能來減少篩選的記憶體傾印大小。 SQL Server 會配置點陣圖,以追蹤要從篩選的傾印中排除的記憶體頁面。 Sqldumper.exe 會讀取點陣圖並篩選出頁面,而不需要讀取任何其他記憶體管理員中繼資料。

適用于: 僅限 SQL Server 2017 (14.x) CU 16 到 CU 19。 從 2017 SQL Server 2017 (14.x) CU 20 開始,預設會啟用點陣圖篩選功能。 追蹤旗標 8089 已不再套用,如果開啟則會忽略。 您可以透過追蹤旗標 8095 停用點陣圖篩選。 如需詳細資訊,請參閱 KB4488943

範圍:僅限全域。
8095 停用篩選記憶體傾印的點陣圖篩選功能。 SQL Server 會配置點陣圖,以追蹤要從篩選的傾印中排除的記憶體頁面。 Sqldumper.exe 會讀取點陣圖並篩選出頁面,而不需要讀取任何其他記憶體管理員中繼資料。

適用于: 預設啟用點陣圖篩選的組建:SQL Server 2016 (13.x) CU 13 和更新版本、SQL Server 2017 (14.x) CU 20 和更新版本,以及 SQL Server 2019 (15.x)。

範圍:僅限全域。
8099 為執行 SQL Server 2019 (15.x) 以服務許多並行使用者的高階系統,啟用執行緒同步鎖定競爭修正。

適用于: 僅限 SQL Server 2019 (15.x) CU 2 和 CU 3。 從 SQL Server 2019 (15.x) CU 4 開始,預設會啟用此行為。 如需執行緒同步鎖定競爭的詳細資訊,請參閱追蹤旗標 8101KB4538688

適用於:SQL Server 2019 (15.x)

範圍:僅限全域。
8101 解決具有大量 CPU 和大量並行使用者的現代硬體 (例如 Intel Skylake 處理器) 上的高 CPU 使用率問題。 若要診斷執行緒同步鎖定競爭,請參閱診斷並解決 SQL Server 上的執行緒同步鎖定競爭白皮書。

適用于: 僅限 SQL Server 2019 (15.x),從 CU 8 開始,CU 14 和 CU 16 中引進的進一步改進。

如需詳細資訊,請參閱 KB4538688

適用於:SQL Server 2019 (15.x)

範圍:僅限全域。
8121 修正當 SQL Server 使用鎖定分頁記憶體安全性原則設定,將記憶體在記憶體模型下的最大伺服器記憶體上方認可記憶體時,所發生的全系統記憶體不足問題。 此追蹤旗標可提供資源監視器系統執行緒所需的記憶體,以減少 SQL Server 記憶體耗用量。 如需詳細資訊,請參閱 KB5008996

範圍:僅限全域。
8142 此追蹤旗標會依 CPU 分割特定的微調鎖定保護清單,最多 64 個數據分割。 這應該只在遇到 SOS_BLOCKALLOCPARTIALLIST 與提高 CPU 使用率的同步鎖定爭用的大型記憶體電腦上使用。 另 請參閱追蹤旗標 8145 。 如需詳細資訊,請參閱 KB5025808

適用于: SQL Server 2019 (15.x) CU 21 和更新版本。

範圍:僅限全域。
8145 將追蹤旗標 8142 所啟用 的資料分割修改為每個軟 NUMA 節點,而不是每個 CPU。 也必須啟用追蹤旗標 8142 ,才能生效。 如需詳細資訊,請參閱 KB5025808

適用于: SQL Server 2019 (15.x) CU 21 和更新版本。

範圍:僅限全域。
8207 啟用異動複寫和 CDC 的 singleton 更新。 訂閱者的更新可以複寫為 DELETE 和 INSERT 配對。 這可能不符合商務規則,例如引發 UPDATE 觸發程序。 使用追蹤旗標 8207 時,只會將影響一個資料列(單一更新)的唯一資料行更新複寫為 UPDATE,而不是 DELETE 或 INSERT 配對。 如果更新影響存在唯一條件約束的資料行,或是更新影響多個資料列,更新仍會複寫為 DELETE 或 INSERT 配對。 如需詳細資訊,請參閱 KB302341 的封存版本。

範圍:僅限全域。
8284 修正手動清除問題,其中資料表上的重複鎖定擴大會導致爭用和清除過期的變更追蹤中繼資料的速度變慢。

注意: 此追蹤旗標適用于 SQL Server 2019 (15.x) CU 21 和更新版本。

範圍:僅限全域。
8285 將判斷提示失敗 (Expression: ) m_versionStatus.IsVisible () 轉換為例外狀況,以防止在某些情況下發生傾印問題,當您在已開啟快照集隔離的資料庫上啟用變更追蹤。

適用于: SQL Server 2022 (16.x) CU 6、SQL Server 2019 (15.x) CU 21 和更新版本。

範圍:僅限全域。
8286 強制清除查詢使用 FORCE ORDER 提示來改善效能。 可與 TF 8287 搭配使用,以使用 FORCESEEK 提示。 如需詳細資訊,請參閱 KB5022375

適用于: SQL Server 2022 (16.x) CU 1 和更新版本。

範圍:僅限全域。
8287 強制清除查詢使用 FORCESEEK 提示來改善效能。 可與 TF 8286 搭配使用,以使用 FORCE ORDER 提示。 如需詳細資訊,請參閱 KB5022375

適用于: SQL Server 2022 (16.x) CU 1 和更新版本。

範圍:僅限全域。
8290 啟用此追蹤旗標之後,變更追蹤 (CT) 自動清除程式會根據保留期間,將任何不正確清除版本重設為清除版本。 啟用此追蹤旗標之後,您必須讓自動清除程式執行。 如需詳細資訊,請參閱 KB4538365

適用于: SQL Server 2017 (14.x) CU 19、SQL Server 2019 (15.x) CU 4、SQL Server 2022 (16.x) 和更新版本。

範圍:全域或工作階段。
8558 啟用修正以確保您不會觀察到一些邊緣情況,在這些情況下,若啟用了 RCSI 隔離等級時,則交易有時無法看到使用 DTC 交易修改的資料表中的最新資料,即使在 xa_commit 短時間內傳回成功訊息也一樣。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

適用于: SQL Server 2019 (15.x) CU 18、SQL Server 2022 (16.x) 和更新版本。

範圍:僅限全域。
8721 當自動更新統計資料執行時,會向錯誤記錄檔報告。 如需詳細資訊,請參閱 KB195565 的封存版本。

附註:此追蹤旗標要求必須啟用追蹤旗標 3605

範圍:僅限全域。
8744 停用巢狀迴圈 運算子的 預先擷取。

警告:如不當使用此追蹤旗標,當 SQL Server 執行包含巢狀迴圈運算子的計劃時,可能會有額外的實體讀取作業。

範圍:全域和工作階段。
8790 導致 SQL Server 在執行 UPDATE 陳述式以更新資料表中的索引時使用寬型的查詢計劃。 當您對叢集索引資料行執行 UPDATE 時,SQL Server 不僅會更新叢集索引本身,也會更新所有非叢集索引,因為非叢集索引包含叢集索引鍵。 若要優化效能並減少隨機 I/O SQL Server,可以選擇排序記憶體中的所有非叢集索引資料,然後依順序更新所有索引。 這稱為寬型的計劃 (也稱為 Per-Index Update),而且可以使用此追蹤旗標來加以強制

範圍: 全域、會話或查詢(QUERYTRACEON)。
8902 針對具有高效能工作負載的高階系統,停用 IO 作業的鎖定頁面。

適用於:SQL Server 2019 (15.x) 和更新版本。

範圍: 全域。
8904 啟用修正以解決次要複本上的平行重做失敗問題。 如需詳細資訊,請參閱 KB5004649

適用于: 僅限 SQL Server 2019 (15.x),從 CU 12 開始。

適用於:SQL Server 2019 (15.x)

範圍:僅限全域。
9024 將全域記錄集區記憶體物件轉換成 NUMA 節點分割的記憶體物件。 如需詳細資訊,請參閱 KB2809338

注意: 從 SQL Server 2012 (11.x) Service Pack 3 和 SQL Server 2014 (12.x) Service Pack 1 開始,此行為是由 資料庫引擎 控制,而追蹤旗標 9024 沒有任何作用。

範圍:僅限全域。
9109 停用查詢通知功能的啟動。 如需詳細資訊,請參閱還原或復原可能會在資料庫中使用查詢通知時失敗或花費很長的時間

警告:請小心使用此追蹤旗標。 此追蹤旗標在一組有限的情況 (主要針對疑難排解或隔離問題) 下可能很有用。

範圍:全域和工作階段。
9135 防止使用索引檢視表。 若要在查詢層級完成這項作業,請新增 USE HINT 'EXPAND VIEWS' 查詢提示,而不是使用此追蹤旗標。 如需詳細資訊,請參閱資料表提示 (Transact-SQL)

適用于: SQL Server 2019 (15.x) CU 23 和更新版本。

範圍:僅限全域。
9347 停用排序運算子的批次模式。 SQL Server 2016 (13.x) 引入了新批次模式排序運算子,將提升許多分析查詢的效能。 如需詳細資訊,請參閱 KB3172787

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9348 能夠使用查詢最佳化工具基數估計值,決定是否應起始叢集資料行存放區索引的 BULK INSERT。 如果要插入的估計資料列數目小於 102400,則資料庫引擎會使用 BULK INSERT。 如果估計的資料列超過102400 個,就會起始 BULK INSERT。 如需詳細資訊,請參閱 KB2998301

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9349 停用前 N 個排序運算子的批次模式。 SQL Server 2016 (13.x) 引入了新批次模式頂端排序運算子,將提升許多分析查詢的效能。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9358 停用排序運算子的批次模式。 如需詳細資訊,請參閱 KB3171555

注意: 從 SQL Server 2017 (14.x) 開始,預設會啟用此行為,而且此追蹤旗標沒有任何作用。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9389 啟用批次模式運算子的額外動態記憶體授與。 如果查詢未取得它所需的所有記憶體,則會將資料溢出至 tempdb ,因而產生額外的 I/O,並可能會影響查詢效能。 如果已啟用動態記憶體授與追蹤旗標,批次模式運算子可能會要求額外的記憶體,在有額外的記憶體可用時,可避免溢出到 tempdb。 如需詳細資訊,請參閱記憶體管理架構指南的<min memory per query 的作用>一節。

範圍:全域或工作階段。
9398 停用自適性聯結運算子,以讓選擇的雜湊聯結或巢狀迴圈聯結方法能夠延後到已掃描第一個輸入之後,如 SQL Server 2017 (14.x) 中所述。 如需詳細資訊,請參閱 KB4099126

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9410 針對使用雜湊彙總運算子並溢出的查詢,啟用非預設修正程式。 啟用此追蹤旗標會增加不同雜湊作業的可用記憶體。 如需詳細資訊,請參閱 KB3167159

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9440 停用錯誤 2112485 和錯誤 2636294 的修正。 使用舊版基數估計 (CE) 模型時,不會套用 Bug 修正。 當資料庫使用預設 CE 模型時,當聯結述詞包含資料表的主鍵時,外部聯結基數估計值可能會比聯結中涉及的資料表基數增加(例如,主鍵到外鍵聯結)。 套用上限,將限制基數高估量,類似于此案例中舊版 CE 中存在的高估限制。

注意: 此追蹤旗標僅適用于相容性層級為 160 和更低層級的資料庫。

適用于: SQL Server 2019 (15.x) CU 20、SQL Server 2022 (16.x) CU 9 和更新版本。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9453 停用批次模式執行。 如需詳細資訊,請參閱 KB4016902

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9471 讓 SQL Server 在 SQL Server 2014 (12.x) 和更新版本的查詢最佳化工具基數估計模型下,使用單一資料表篩選準則的最小選擇性來產生計畫。

從 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成此動作,請新增 USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES'查詢提示,而不是使用此追蹤旗標。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

附註:此追蹤旗標不適用於 CE 70 版。 請改用追蹤旗標 4137。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9476 在 SQL Server 2014 (12.x) 和更新版本的查詢最佳化工具基數估計模型下,使用簡單內含專案假設來產生計畫,而不是預設的基底內含專案假設。 如需詳細資訊,請參閱此 KB3189675

從 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成此動作,請新增 USE HINT 'ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS'查詢提示,而不是使用此追蹤旗標。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9481 將查詢最佳化工具基數估計 (CE) 模型設為 SQL Server 2012 (11.x) 及更舊版本 (版本 70) (無論資料庫的相容性層級為何)。 如需詳細資訊,請參閱 KB2801413

從 SQL Server 2016 (13.x) 開始,若要在資料庫層級完成此動作,請參閱 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 中的 LEGACY_CARDINALITY_ESTIMATION 選項。

從 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成此動作,請新增 USE HINT 'FORCE_LEGACY_CARDINALITY_ESTIMATION'查詢提示,而不是使用此追蹤旗標。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9485 停用 DBCC SHOW_STATISTICS 的 SELECT 權限。 如需詳細資訊,請參閱 KB2683304

範圍:僅限全域。
9488 使用 SQL Server 2012 (11.x) 和更新版本的查詢最佳化工具基數估計模型下,將資料表值函式的固定估計設定為預設值 1(對應至預設值 2012 (11.x) 和更新版本。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9495 在 INSERT...SELECT 作業的插入期間停用平行處理原則,這項規則同時套用至使用者和暫存資料表。 如需詳細資訊,請參閱 KB3180087

範圍:全域或工作階段。
9567 在自動植入期間,針對 Always On 可用性群組啟用資料流的壓縮。 壓縮可大幅減少自動植入期間的傳輸時間,並增加處理器上的負載。 如需詳細資訊,請參閱自動初始化 Always On 可用性群組微調可用性群組的壓縮

範圍:全域或工作階段。
9571 停用對預設資料庫路徑進行可用性群組自動植入。 如需詳細資訊,請參閱磁碟配置

範圍:全域或工作階段。
9576 停用在 SQL Server 2016 (13.x) Service Pack 1 CU 10、SQL Server 2016 (13.x) Service Pack 2 CU 2 和 SQL Server 2017 (14.x) CU 9 中引入的可用性群組容錯移轉的增強錯誤收集。 如需詳細資訊,請參閱 SQL Server 可用性群組 – 增強的資料庫層級容錯移轉

範圍:僅限全域。
9591 在 Always On 可用性群組中停用記錄區塊壓縮。 記錄區塊壓縮是 SQL Server 2012 (11.x) 和 SQL Server 2014 (12.x) 中用於同步和非同步複本的預設行為。 在 SQL Server 2016 (13.x) 中,只有非同步複本會使用壓縮。

範圍:全域或工作階段。
9592 啟用同步可用性群組的記錄資料流壓縮。 因為壓縮會增加延遲,所以在同步可用性群組上預設會停用這項功能。 如需詳細資訊,請參閱 微調可用性群組的壓縮

範圍:全域或工作階段。
9708 為擴充的事件工作階段啟用事件發佈指標的收集。 如需詳細資訊,請參閱 sys.dm_xe_session_events

適用於:SQL Server 2022 (16.x) 和更新版本。

範圍:僅限全域。
9810 停用記憶體內部 OLTP 引擎,以回收執行緒本機儲存體 (TLS) 記憶體。 在 SQL Server 2019 (15.x) 和舊版中,不會回收 TLS 記憶體是預設行為。 在 SQL Server 2022 (16.x)中,引進了新的記憶體優化,導致記憶體內部 OLTP 引擎回收 TLS 記憶體,並減少記憶體不足問題的可能性。 此追蹤旗標會還原為 SQL Server 2022 (16.x) 之前的行為。

適用於:SQL Server 2022 (16.x) 和更新版本。

範圍:僅限全域。
9929 將記憶體中的檢查點檔案大小減少至各 1 MB。 如需詳細資訊,請參閱 KB3147012

範圍:僅限全域。
9939 在參考記憶體最佳化資料表或資料表變數的 DML 作業中,啟用平行計畫和平行掃描記憶體最佳化資料表和資料表變數 (只要它們不是 SQL Server 2016 (13.x) 中 DML 作業的目標)。 如需詳細資訊,請參閱 KB4013877

附註:如果也明確啟用追蹤旗標 4199,則不需要追蹤旗標 9939。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
9944 當資料庫具有大量記憶體最佳化資料表或記憶體最佳化資料表類型,而且可能觀察到 PREMPTIVE_OS_FINDFILE 或 PREEMPTIVE_OS_CREATEDIRECTORY 等候類型的封鎖時,啟用緩慢資料庫復原時間的非預設修正程式。 如需詳細資訊,請參閱 KB4090789KB4052338

範圍:僅限全域。
9953 重複使用記憶體優化資料表所使用的隱藏排程器。

適用于: SQL Server 2019 (15.x) CU 20 和更新版本,以及 SQL Server 2022 (16.x) CU 3 和更新版本。

範圍:僅限全域。
10054 停用將 OR 述詞中的子查詢解除關聯爲外部聯結的 SQL Server 查詢最佳化工具規則。

適用於:SQL Server 2019 (15.x) 和更新版本。

附註:請確定您已徹底測試此選項後,再將其部署到生產環境。

範圍:全域或工作階段或查詢 (QUERYTRACEON)。
10204 在資料行存放區索引重組期間停用合併/重新壓縮。 在 SQL Server 2016 (13.x) 中,當重新組織資料行存放區索引時,新功能會自動將任何小型的壓縮資料列群組合併成較大的壓縮資料列群組,並重新壓縮有大量已刪除資料列的任何資料列群組。

附註:追蹤旗標 10204 不適用於在記憶體最佳化資料表上所建立的資料行存放區索引。

範圍:全域或工作階段。
10207 允許叢集資料行存放區索引 (CCI) 掃描略過損毀的區段或中繼資料,進而允許從損毀的 CCI 擷取資料。 如需詳細資訊,請參閱 KB3067257

範圍:全域或工作階段。
10316 內部記憶體最佳化暫存時態表上建立預設索引和額外的索引。 如果您有特定的查詢模式,而其中包含預設索引未涵蓋的資料行,您可以考慮加入額外的索引。

注意: 記憶體最佳化資料表的系統建立版本時態表,是專為提供高交易輸送量所設計。 對於更新或刪除目前資料表中資料列的 DML 作業,建立額外的索引可能會造成額外負荷。 使用其他索引時,您應該要找出時態查詢效能與額外 DML 額外負荷之間的正確平衡。

範圍:全域或工作階段。
10460 讓 SQL Server Stretch Database 功能在 Azure SQL Database Hyperscale 服務層級內佈建延展資料表。

適用于: SQL Server 2017 (14.x) CU 31、SQL Server 2019 (15.x) CU 18 和 SQL Server 2022 (16.x) 和更新版本。

從 SQL Server 2017 (14.x) CU 31、SQL Server 2019 (15.x) CU 18 和 SQL Server 2022 (16.x) 開始,Stretch Database 功能的預設行為會在 Azure SQL 資料庫 標準服務層級 (S3) 內布建延展式資料表。 如需詳細資訊,請參閱 KB5018050

範圍:僅限全域。
11023 針對未在 UPDATE STATISTICS 陳述式中明確指定採樣速率的所有後續統計資料更新,停用上次保存的採樣速率。 如需詳細資訊,請參閱 KB4039284

範圍:僅限全域。
11024 當任何分割區的修改次數超過總閾值時,使自動更新統計資料功能觸發。 如需詳細資訊,請參閱 KB4041811

適用于: SQL Server 2016 (13.x) Service Pack 2、SQL Server 2017 (14.x) CU 3 和更新版本。

範圍:僅限全域。
11047 query wait (s) 設定的預設逾時或 Resource Governor REQUEST_MEMORY_GRANT_TIMEOUT_SEC 組態,套用至資料行存放區索引建置作業。 如需詳細資訊,請參閱 KB4480641

適用于: SQL Server 2016 (13.x) Service Pack 2 CU 5、SQL Server 2017 (14.x) CU 14 和更新版本。

範圍:僅限全域。
11064 藉由將 SELECTINSERT 陳述式之間的記憶體分佈最佳化,以改善資料行存放區索引的資料載入作業可擴縮性。 如需將資料載入資料行存放區索引的詳細資訊,請參閱資料行存放區索引 - 資料載入指導

適用於:SQL Server 2019 (15.x) 和更新版本。

範圍:僅限全域。
11068 針對資料行存放區索引插入作業使用伺服器、資料庫或資源集區經設定平行處理原則的最大程度 (MAXDOP) 值。 如需覆寫平行處理原則程度的詳細資訊,請參閱查詢處理架構指南

重要:只有在同時啟用追蹤旗標 11064 時,此追蹤旗標才會生效。

重要: 如果更快速載入資料比維護資料行存放區區段品質更重要時,請使用此追蹤旗標。 例如,將 1,048,577 個資料列載入資料行存放區時,如果插入作業是以平行模式執行,則使用此追蹤旗標可能會產生多個壓縮的資料列群組。 如果沒有此追蹤旗標,則插入作業會產生一個壓縮的資料列群組。

適用於:SQL Server 2019 (15.x) 和更新版本。

範圍:僅限全域。
11561 停用複寫的 Azure Active Directory (Azure AD) 驗證。

注意: 此追蹤旗標適用于 SQL Server 2022 (16.x) CU 6 和更新版本。

範圍:全域或工作階段。
11631 ALTER INDEX ... REORGANIZE 背景合併工作 會清除資料行存放區索引資料列群組中已刪除的資料列,只有在從該資料列群組中刪除特定資料列閾值時。 預設的臨界值是最大資料列限制數 (1 百萬個) 的 10% 或 100,000 個資料列。

此追蹤旗標會將該臨界值變更為一個資料行存放區資料列群組中目前資料列總數的 10%。 例如,如果資料列群組包含 20,000 個數據列,則此資料列群組視為清除之前,閾值為 2,000 個已刪除的資料列。 如需詳細資訊,請參閱 KB5000895

適用于: SQL Server 2019 (15.x) CU 9 和更新版本。

範圍:僅限全域。
11634 ALTER INDEX ... REORGANIZE 背景合併工作 只會在該資料列群組中刪除特定資料列閾值時,清除資料行存放區索引資料列群組中已刪除的資料列。 預設的臨界值是最大資料列限制數 (1 百萬個) 的 10% 或 100,000 個資料列。

此追蹤旗標會將臨界值變更為資料行存放區資料列群組中目前資料列總數的 1%。 如果與追蹤旗標 11631 一起啟用,則它是資料列群組中目前資料列數目的 1%,而不是 1 百萬個數據列的 1%。 如需詳細資訊,請參閱 KB5000895

適用于: SQL Server 2019 (15.x) CU 9 和更新版本。

範圍:僅限全域。
12310 增加每個可用性群組閘道允許之訊息數目的流程式控制制限制。 這些限制是 SQL Server 2022 (16.x) 中的新預設值,因此追蹤旗標在此版本中沒有作用。 如需詳細資訊,請參閱 流量控制閘道

適用于: SQL Server 2019 (15.x) CU9、SQL Server 2017 (14.x) CU 18、SQL Server 2016 (13.x) SP 1 CU 16 和更新版本。

範圍:僅限全域。
12324 解決Azure SQL 受控執行個體連結功能變更所導入的問題,這可防止可用性群組在不同的累積更新上執行複本時同步處理。 如需詳細資訊,請參閱 KB5024276

適用于: SQL Server 2019 (15.x) CU 20 和更新版本。

範圍:僅限全域。
12481 停用稽核記錄 external_policy_permission_checked 欄位中外部權限的記錄稽核資訊。 如需詳細資訊,請參閱 KB5022375

適用于: SQL Server 2022 (16.x) CU 1 和更新版本。

範圍:僅限全域。
12502 停用內部部署 SQL Server 實例的外部授權原則。

適用于: SQL Server 2022 (16.x) CU 5 和更新版本。

範圍:僅限全域。
12618 啟用自動調整功能的自動計畫更正 (APC) 模型,以在同一個計畫上執行多個連續計畫回歸檢查,這允許累積額外的統計資料供新模型評估。 如需詳細資訊,請參閱 KB5026717

適用于: SQL Server 2022 (16.x) CU 4 和更新版本。

範圍:僅限全域。
12656 啟用自動調整功能的自動計畫更正(APC)模型,以使用偵測到計畫變更五分鐘後將發生的以時間為基礎的計畫回歸檢查,以避免讓快速執行的查詢產生回歸檢查偏差。 這可讓 APC 考慮可能會執行較長的查詢執行,或因為計畫變更而容易逾時。 如需詳細資訊,請參閱 KB5026717

適用于: SQL Server 2022 (16.x) CU 4 和更新版本。

範圍:僅限全域。
13116 停用錯誤 13685819 的修正。 如果您在套用 SQL Server 2016 (13.x) Service Pack 2 CU 16 後遇到使用平行計畫的 DML (插入/更新/刪除) 查詢無法完成任何執行並遇到 HP_SPOOL_BARRIER 等待的問題時,請使用此追蹤旗標。

適用于: SQL Server 2016 (13.x) Service Pack 2 CU 16。

範圍:僅限全域。
13127 啟用額外的字串模式比對優化。

適用于: SQL Server 2019 (15.x) 和更新版本,適用于高效能工作負載的高端系統。

範圍:全域或工作階段。
13156 針對 "UDF invocation with a large number of scalar expression re-evaluations can cause a non-yielding scheduler error" 問題,停用修正。 此原始修正有時可能會導致效能退步。 如需詳細資訊,請參閱 KB4538581

範圍:僅限全域。
15025 停用新建立虛擬記錄檔 (VLF) 所需的 Azure Key Vault 存取權 (允許大量的客戶工作負載不間斷地繼續)。 啟用此追蹤旗標之後,SQL Server 會使用可延伸金鑰管理進行加密和金鑰產生,而且不會在 VLF 建立期間連絡 Azure 金鑰保存庫。 如需詳細資訊,請參閱使用 EKM 進行加密和產生金鑰的大量客戶工作負載的資料庫可存取性問題

適用于: SQL Server 2019 (15.x) CU 19、SQL Server 2022 (16.x) CU 1 和更新版本。

範圍:僅限全域。
15096 使用 AVX-512 指令集停用母體計數 (popcnt) 作業。

適用於:SQL Server 2022 (16.x) 和更新版本。

範圍:全域或工作階段。
15097 啟用 SQL Server 2022 (16.x) 和更新版本的 AVX-512 支援。

重要:建議針對下列 CPU 啟用 AVX-512 支援:

- Intel Ice Lake 及更高階
- AMD EYPC Genoa 及更高階

適用於:SQL Server 2022 (16.x) 和更新版本。

範圍:全域或工作階段。
15212 停用 Service Broker 計時器訊息,做為逾時事件的詳細語音總機。 受此追蹤旗標影響的訊息為:在 Service Broker Dialog Cleanup 序列中的 SSBDT: Dialog timer delete during registration,以及在 Service Broker Dialog Close 序列中的 SSBDT: Dialog timer delete during dispatch。 一旦啟用此追蹤旗標之後,便會略過這些非正式訊息的列印。

適用於:SQL Server 2022 (16.x) 和更新版本。

範圍:僅限全域。