DBCC TRACEON - 追蹤旗標 (Transact-SQL)
適用于:SQL Server
Azure SQL 受控執行個體
追蹤旗標用來設定特定的伺服器特性,或變更特定行為。 例如,追蹤旗標 3226 是常用的啟動追蹤旗標,可隱藏錯誤記錄檔中成功的備份訊息。 追蹤旗標經常用來診斷效能問題,或是針對預存程序或複雜電腦系統進行偵錯,但 Microsoft 支援服務也可能會建議使用它們來解決對特定工作負載產生負面影響的行為。
按照指示使用時,生產環境完全支援所有記錄的追蹤旗標,以及 Microsoft 支援服務所提供的建議。 此清單中的追蹤旗標可能會有其特定使用方式的其他考慮,因此建議您仔細檢閱此處提供的所有建議,以及/或由您的支援工程師提供。 此外,如同 SQL Server 中的任何設定變更一樣,最好一律在部署之前於非生產環境中徹底測試旗標。
備註
在SQL Server中,有三個範圍可以運作追蹤旗標:查詢、會話和全域。 查詢追蹤旗標可用於特定查詢的內容。 工作階段追蹤旗標用於某個連接,而且只會在該連接顯示出來。 全域追蹤旗標是設在伺服器層級,只要是該伺服器上的連接,都看得到它們。 某些旗標只能啟用為全域旗標,某些則可以啟用為全域或工作階段範圍。
適用的規則如下:
全域追蹤旗標必須全域啟用, 否則追蹤旗標就沒有效果。 建議您在啟動時使用
-T
Windows 上的命令列選項,或使用Linux 上的mssql-conf來啟用全域追蹤旗標。 這可確保追蹤旗標在伺服器重新啟動後仍維持使用中。 重新啟動 SQL Server,使追蹤旗標生效。如果追蹤旗標具有全域、工作階段或查詢的範圍,可以使用適當的範圍加以啟用。 在工作階段層級啟用的追蹤旗標永遠不會影響另一個會話,而且當開啟會話的 SPID 登出時,追蹤旗標的效果就會遺失。
您可以使用下列其中一種方法,將追蹤旗標設為開啟或關閉:
DBCC TRACEON
使用 和DBCC 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可能不支援追蹤旗標行為。
您可以使用此格式#tfNNNN,直接在資料表中參考 Тrace 旗標,透過您可以新增至 URL 結尾的書簽。 例如,若要直接跳至資料表中的追蹤旗標 1118,請使用 dbcc-traceon-trace-flags-transact-sql#tf1118
。
追蹤旗標 | 描述 |
---|---|
101 | 使合併式複寫代理程式記錄更加詳盡。 重要:從命令提示字元執行replmerg.exe時,只能針對複 -T 寫合併代理程式啟用追蹤旗標 101。警告: 追蹤旗標 101 並非要在生產環境中持續啟用,但僅適用于有限的疑難排解目的。 如需詳細資訊,請參閱封存版本的 KB2892633。 範圍:僅複寫合併代理程式。 |
102 | 增加合併式複寫代理程式記錄的詳細資訊,並將它導向至< 散發伺服器 > 。msmerge_history資料表。 重要:從命令提示字元執行replmerg.exe時,只能針對複 -T 寫合併代理程式啟用追蹤旗標 102。警告: 追蹤旗標 102 並非要在生產環境中持續啟用,但僅供時間限制的疑難排解之用。 如需詳細資訊,請參閱封存版本的 KB2892633。 範圍:僅複寫合併代理程式。 |
139 | 在相容性層級較低的資料庫上分析針對特定資料類型導入之相容性層級 130 所改善的精確度和轉換邏輯時,於 DBCC CHECKDB、DBCC CHECKTABLE 和 DBCC CHECKCONSTRAINTS 等 DBCC 檢查命令範圍中強制正確的轉換語意。 如需詳細資訊,請參閱 KB4010261。 注意:此追蹤旗標適用于 2016 SQL Server 2016 (13.x) RTM CU 3,SQL Server 2016 (13.x) Service Pack 1 和更新版本。 警告: 追蹤旗標 139 並非要在生產環境中持續啟用,而且應該用於執行 KB4010261中所述之資料庫驗證檢查的唯一用途。 在完成驗證檢查後,應立即將它停用。 範圍: 僅限全域。 |
174 | 在 64 位系統上,將 SQL Server Database Engine 計畫快取貯體計數從 40,009 增加到 160,001。 如需詳細資訊,請參閱 KB3026083。 注意: 請先確定您已徹底測試此選項,再將其輪流至生產環境。 範圍: 僅限全域。 |
176 | 針對包含計算資料分割資料行的資料表,在線上重建資料分割時發生錯誤。 如需詳細資訊,請參閱 KB3213683 和 KB4541096。 範圍: 全域或會話。 |
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選項。 注意:此追蹤旗標適用于 2016 SQL Server 2016 (13.x) Service Pack 2 CU 6、SQL Server 2017 (14.x) CU 12 和更新版本。 注意: 從資料庫相容性層級 150 開始,訊息識別碼 2628 是預設值,且此追蹤旗標沒有任何作用。 範圍: 全域或會話。 |
610 | 控制以最低限度方式插入索引資料表的行為。 此追蹤旗標不需要從 2016 開始SQL Server,因為索引資料表預設會開啟最小記錄。 在 SQL Server 2016 (13.x) 中,當大量載入作業導致配置新頁面時,如果符合所有其他基本記錄的必要條件,則會循序填滿該新頁面的所有資料列。 插入到現有頁面 (未配置新頁面) 以維持索引順序的資料列仍會完整記錄,這些是載入期間因頁面分割而移除的資料列。 此外也必須開啟索引的 ALLOW_PAGE_LOCKS (預設為開啟) 以啟用最低限度記錄作業,因為配置期間需要頁面鎖定,也因此只會記錄頁面或範圍配置。 如需詳細資訊,請參閱資料載入效能指南 (英文)。 範圍: 全域或會話。 |
634 | 停用背景資料行存放區壓縮工作。 SQL Server定期執行 Tuple Mover 背景工作,以使用未壓縮的資料壓縮資料行存放區索引資料列群組,一次一個這類資料列群組。 壓縮資料行存放區可提升查詢效能,但同時也會耗用系統資源。 您可以使用追蹤旗標 634 停用背景壓縮工作,然後明確叫用 ALTER INDEX...,以手動控制資料行存放區壓縮的時間。REORGANIZE 或 ALTER INDEX...選擇時重建。 範圍: 僅限全域。 |
652 | 停用頁面預先提取掃描。 如果您開啟追蹤旗標 652,在掃描取用這些資料庫頁面之前,SQL Server不再將資料庫頁面帶入緩衝集區。 如此一來,受益於頁面預先擷取功能的查詢就會展現較低效能。 範圍: 全域或會話。 |
661 | 停用準刪除記錄移除程序。 追蹤旗標 661 會停用准刪除記錄移除程式。 準刪除記錄是刪除作業的結果。 當刪除記錄時,已刪除的記錄會保留為準刪除記錄。 稍後再由准刪除記錄移除程序清除刪除的記錄。 當您停用此程式時,不會清除已刪除的記錄。 因此,刪除的記錄取用的空間不會釋放。 此行為會影響空間耗用量和掃描工作的效能。 如需詳細資訊,請檢閱 准刪除清除程式指南。 範圍: 僅限全域。 |
692 | 在大量載入資料到堆積或叢集索引時停用快速插入。 從 2016 SQL Server 2016 (13.x) 開始,預設會啟用快速插入,在資料庫處於簡單或大量記錄復原模式時,使用最少的記錄來優化插入到新頁面的記錄的插入效能。 使用快速插入,每個大量載入批次會取得新範圍,藉由略過現有範圍可用空間的配置查閱以最佳化插入效能。 使用快速插入,小批次的大量載入會導致物件耗用的未使用空間增加,因此建議您針對每個批次使用大批次以完全填滿範圍。 如果增加批次大小不可行,此追蹤旗標可協助減少保留的未使用空間,以犧牲效能。 注意:此追蹤旗標適用于 SQL Server 2016 (13.x) 和更新版本。 範圍: 全域或會話。 |
715 | 啟用資料表鎖定,以將作業大量載入到不含非叢集索引的堆積。 啟用此追蹤旗標時,大量複製資料到資料表時,大量載入作業會取得大量更新 (BU) 鎖定。 大量更新 (BU) 鎖定可讓多個執行緒同時將資料大量載入至相同的資料表,同時防止其他未大量載入資料的進程存取資料表。 此行為類似于當使用者在執行大量載入時明確指定 TABLOCK 提示,或當指定資料表啟用大量載入的資料表鎖定時 sp_tableoption 。 不過,啟用此追蹤旗標時,在不變更任何查詢或資料庫的情況下,此行為即為預設值。範圍: 全域或會話。 |
809 | 啟用混合式緩衝集區的直接寫入行為。 此模式需要在與混合式緩衝集區相同的資料庫中啟用 保存的記錄緩衝區 。 直接寫入 可讓混合式緩衝集區作為已變更和清除頁面的快取,減少 OLAP 和 OLTP 樣式工作負載之 DRAM 緩衝集區上的工作負載需求。 此追蹤旗標是在 2022 SQL Server 16.x (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 問題。 注意:從 2017 SQL Server 2017 (14.) x 開始,此追蹤旗標沒有任何作用。 範圍: 僅限全域。 |
830 | 停用 I/O 要求的偵測和報告,這些要求需要很長的時間才能完成。 根據預設,SQL Server會使用機制來偵測讀取和寫入 I/O 要求, (通常超過 15 秒) 。 此追蹤旗標會停用此偵測。 如需詳細資訊,請參閱 MSSQLSERVER_833 注意: 不建議啟用此追蹤旗標,因為您可能會降低偵測系統上 I/O 問題的能力。 範圍: 僅限全域。 |
834 | 為緩衝區集區、資料行存放區與記憶體內資料表使用大型分頁配置。 大型頁面大小會因硬體平台而異,但頁面大小為 2 MB 到 16 MB。 大型頁面是在啟動時配置,且於整個程序的存留期間保留。 追蹤旗標 834 藉由提高 CPU 中 TLB (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 位元 Address Windowing Extensions (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) 和更新版本。 注意: 請先確定您已徹底測試此選項,再將其輪流至生產環境。 範圍: 僅限全域。 |
898 | 只在 Windows 上快取 混合式緩衝集區中的清除頁面。 |
890 | 隱藏長時間緩衝集區掃描完整訊息, (錯誤記錄檔中的 錯誤 898) 。 如需緩衝集區掃描的詳細資訊,以及記錄在錯誤記錄檔中的訊息,請參閱 觸發緩衝集區掃描的作業可能會在大型記憶體電腦上緩慢執行。 注意:從 2017 SQL Server (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。 注意:從 2016 SQL Server (13.x 開始) ,此行為是由 ALTER DATABASE 的 SET MIXED_PAGE_ALLOCATION 選項所控制,而追蹤旗標 1118 沒有任何作用。 如需詳細資訊,請參閱 ALTER DATABASE SET 選項 (Transact-SQL)。 範圍: 僅限全域。 |
1204 | 傳回參與死結之鎖定的資源和類型,以及目前受影響的命令。 如需死結的詳細資訊,請參閱 死結指南。 注意: 避免在工作負載密集系統上使用追蹤旗標 1204 造成死結。 如需偵測死結之其他方法的詳細資訊,請參閱 Deadlocks 指南。 範圍: 僅限全域。 |
1211 | 停用以記憶體壓力或鎖定個數為基礎的鎖定擴大。 SQL Server Database Engine 不會將資料列或頁面鎖定呈報至資料表鎖定。 使用此追蹤旗標可能會產生過多的鎖定數目,且如果鎖定記憶體增長到一定程度,則嘗試為任何查詢配置額外的鎖定可能會失敗。 這可能會讓 Database Engine 的效能變慢,或造成 1204 錯誤, (因為記憶體不足而無法配置鎖定資源) 。 如果同時設定追蹤旗標 1211 與 1224,則將會優先採用 1211。 不過,由於追蹤旗標 1211 會防止每個案例呈報,即使記憶體壓力不足,建議您改用 1224。 如此可避免在使用許多鎖定時,發生「鎖定不足」錯誤。 如需如何解決SQL Server鎖定擴大所造成的封鎖問題的詳細資訊,請參閱KB323630。 範圍: 全域或會話。 |
1222 | 以不符合任何 XSD 架構的 XML 格式,傳回參與死結之鎖定的資源和類型,以及受影響的目前命令。 如需死結的詳細資訊,請參閱 死結指南。 注意: 避免在工作負載密集系統上使用追蹤旗標 1222 造成死結。 如需偵測死結之其他方法的詳細資訊,請參閱 Deadlocks 指南。 範圍: 僅限全域。 |
1224 | 停用以鎖定個數為基礎的鎖定擴大。 不過,記憶體壓力仍然可以啟動鎖定擴大。 如果鎖定物件所使用的記憶體數量超過下列其中一個條件,Database Engine 會將資料列或頁面鎖定呈報至資料表 (或分割區) 鎖定:
如果同時設定追蹤旗標 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。 注意:從 2017 SQL Server (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 選項。 注意:從 2016 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 Database Engine 中止要求。 如需詳細資訊,請參閱 KB4038419。 注意:此追蹤旗標適用于 SQL Server 2016 (13.x) Service Pack 2、SQL Server 2017 (14.x) CU 3 和更新版本。 範圍: 僅限全域。 |
2430 | 啟用其他鎖定類別清除作業。 如需詳細資訊,請參閱 KB2754301。 範圍: 僅限全域。 |
2446 | 導致SQL Server在使用輕量型查詢執行統計資料分析基礎結構或執行 DMV 時,產生 Showplan XML 片段, ParameterRuntimeValue 同時針對長時間執行的 sys.dm_exec_query_statistics_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 的查詢,因為這可能會干擾指定低於或等於單一節點中排程器數目的查詢。 注意: 請確定您已徹底測試此選項,再將其輪流至生產環境。 範圍: 僅限全域。 |
2469 | 在 INSERT INTO ... SELECT 和磁碟分割資料行存放區索引之間啟用其他交換。 如需詳細資訊,請參閱 KB3204769。範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
2528 | 依 DBCC CHECKDB 、 DBCC CHECKFILEGROUP 和 DBCC CHECKTABLE 停用物件的平行檢查。 依預設,查詢處理器會自動判斷平行處理原則的程度。 最大平行處理原則程度的設定方式與平行查詢相同。 如需詳細資訊,請參閱 設定 max degree of parallelism 伺服器組態選項。注意: 平行 DBCC 檢查通常應為啟用 (預設)。 查詢處理器會針對 所檢查 DBCC CHECKDB 的每個資料表或資料表批次,重新評估並自動調整平行處理原則。典型的使用案例是系統管理員知道伺服器負載會在完成之前 DBCC CHECKDB 增加,因此選擇手動減少或停用平行處理原則,以增加與其他使用者工作負載的並行。 不過,停用 中的 DBCC CHECKDB 平行檢查可能會導致需要較長的時間才能完成。注意: 如果使用 DBCC CHECKDB TABLOCK 選項執行 ,且已停用平行處理原則,資料表可能會鎖定較長的時間。注意:從 SQL Server 2014 (12.x) Service Pack 2 開始,MAXDOP 選項可用來覆寫 DBCC 語句的 max degree of parallelism 組態選項 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相關的大型記憶體結構區域會有目的地篩選掉,且不會序列化為磁片,因為它們通常不會 (資料/索引頁面、某些內部快取,例如In-Memory OLTP 資料頁和記錄集區記憶體) 。 這會導致檔案小於完整記憶體傾印,同時在大部分情況下,保留其最有用性做為慣用選項,在大部分情況下,迷你傾印都不夠。 如需詳細資訊,請參閱使用 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) 和更新版本。 範圍: 全域和會話。 |
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 | 在 2016 SQL Server 2016 (13.x) 中,許多連續交易在 2014 年 (12.x) 耗用超過 SQL Server 2014 (12.x) 的問題。 如需詳細資訊,請參閱 KB3216543。 注意:此追蹤旗標適用于 2016 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 秒,以終止這類封鎖查詢。 如需 Redo 執行緒延遲的詳細資訊,請參閱Redo 執行緒因資源爭用而落後,並針對REDO 佇列建置進行疑難排解, (資料延遲問題進行疑難排解) Always On可讀取次要複本 警告: 在生產環境中部署此選項之前,請務必先測試並瞭解此選項,因為查詢可能會終止。 注意:此追蹤旗標適用于 SQL Server 2019 (15.x) 範圍: 僅限全域。 |
3459 | 停用平行重做。 如需詳細資訊,請參閱 KB3200975、 KB4101554 和此部落格文章 可用性群組次要複本重做模型和效能。 注意:此追蹤旗標適用于 SQL Server 2016 (13.x) 、SQL Server 2017 (14.x) 及更新版本。 範圍: 僅限全域。 |
3468 | 在 上 tempdb 停用間接檢查點。注意:此追蹤旗標適用于 2016 SQL Server 2016 (13.x) Service Pack 1 CU 5,SQL Server 2017 (14.x) CU 1 和更新版本。 範圍: 僅限全域。 |
3605 | 將追蹤訊息重新導向至SQL Server錯誤記錄檔。 例如,使用追蹤旗標 205 和 8721 需要啟用追蹤旗標 3605。 警告: 這是偵錯追蹤旗標,並非要在生產環境中持續啟用。 範圍: 全域或會話。 |
3608 | 防止SQL Server自動啟動和復原資料庫以外的 master 任何資料庫。 如果起始需要 tempdb 的活動,則會 model 復原並 tempdb 建立。 其他資料庫會在存取時啟動和復原。 但是,某些功能 (例如快照集隔離和讀取認可的快照集) 可能無法運作。 用於移動系統資料庫和移動使用者資料庫。注意: 請勿在正常作業期間使用。 範圍: 僅限全域。 |
3625 | 使用 遮罩某些錯誤訊息 '******' 的參數,以限制傳回給不是 sysadmin 固定伺服器角色成員的使用者所傳回的資訊量。 這樣做有助於避免洩漏機密資訊。範圍: 僅限全域。 |
3656 | 在安裝 Windows 偵錯工具之後,啟用堆疊傾印的符號解析。 警告: 這是偵錯追蹤旗標,不適用於生產環境。 注意:從 2019 SQL Server 2019 (15.x) 開始,追蹤旗標2592必須啟用追蹤旗標 3656 才能啟用符號解析。 範圍: 全域和會話。 |
3924 | 啟用使用 SPID=-2 自動移除孤立 DTC 交易,這是某些協力廠商交易監視器的問題。 如需詳細資訊,請參閱 KB4519668 和 KB4511816。 範圍: 僅限全域。 |
3972 | 停用並行頁面可用空間 (PFS) 更新功能。 如需並行 PFS 更新的詳細資訊,請參閱 智慧型效能。 如需此追蹤旗標很有用的問題,請參閱使用資料庫快照 集 KB5007794復原次要可用性資料庫期間,未產生排程器傾印。 範圍: 僅限全域。 |
4022 | 當SQL Server啟動時,停用自動執行預存程式。 如需啟動預存程式自動執行的詳細資訊,請參閱 sp_procoption。 範圍: 僅限全域。 |
4043 | 修正在 PolyBase 外部資料表上套用安全性原則,並在 SQL Server 2019 (15.x) 中使用 Row-Level Security (RLS) 時所發生的錯誤。 錯誤訊息類似下列內容:「安全性述詞只能新增至使用者資料表和架構系結檢視」如需詳細資訊,請參閱 KB4552159。 範圍: 全域或會話。 |
4136 | 除非 OPTION(RECOMPILE) 使用 或 , WITH RECOMPILE 否則 OPTIMIZE FOR <value> 會停用參數探查。 如需詳細資訊,請參閱 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產生計畫,在查詢最佳化工具基數估計 (CE) 模型下,SQL Server 2012 (11.x) 和更早 (70) 。 如需詳細資訊,請參閱 KB2658214。 從 2016 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。 從 2016 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成這項作業,請新增 USE HINT 'DISABLE_OPTIMIZER_ROWGOAL' 查詢提示,而不是使用此追蹤旗標。注意: 請先確定您已徹底測試此選項,再將其輪流至生產環境。 範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
4139 | 不論索引鍵資料行狀態為何,啟用自動產生的快速統計資料 (長條圖修正)。 如果已設定追蹤旗標 4139,不論前置統計資料資料行狀態 (遞增、遞減或固定) ,用來估計基數的長條圖會在查詢編譯時期進行調整。 如需詳細資訊,請參閱 KB2952101。 從 2016 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成這項作業,請新增 USE HINT 'ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS' 查詢提示,而不是使用此追蹤旗標。注意: 請先確定您已徹底測試此選項,再將其輪流至生產環境。 注意: 此追蹤旗標不適用於 CE 版本 70。 請改用追蹤旗標 2389 和 2390。 範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
4199 | 啟用查詢最佳化工具 (QO) 修正SQL Server累積更新和 Service Pack 中發行的修正程式。 在給定產品版本中的最新資料庫相容性層級下,預設會啟用對舊版SQL Server所做的 QO 變更,而不會啟用追蹤旗標 4199。 如需詳細資訊,請參閱 KB974006。 來自所有先前資料庫相容性層級的 QO 變更: - 如果已啟用追蹤旗標 4199,也會啟用來自所有先前資料庫相容性層級的查詢最佳化工具變更。 - 如果追蹤旗標 4199 已停用或未設定,則會從相容性層級 130 開始啟用查詢最佳化工具變更。 針對低於 130 的相容性層級,會停用查詢最佳化工具變更。 DE 版本 RTM 後的 QO 變更: - 如果已啟用追蹤旗標 4199,則會針對 RTM 後的資料庫引擎版本啟用查詢最佳化工具變更。 - 如果追蹤旗標 4199 已停用或未設定,則 Database Engine 版本在 RTM 後停用查詢最佳化工具變更。 從 SQL Server 2016 (13.x) 開始,若要在資料庫層級完成此作業,請參閱ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 中的 QUERY_OPTIMIZER_HOTFIXES 選項。 從 2016 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成這項作業,請新增 USE HINT 'ENABLE_QUERY_OPTIMIZER_HOTFIXES' 查詢提示,而不是使用此追蹤旗標。重要: 追蹤旗標 4199 未啟用解決錯誤結果或存取違規錯誤的查詢最佳化工具修正。 這些修正不會被視為選擇性,而且在安裝更新套件之後預設會啟用。 範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
4610 | 將儲存快取項目之雜湊表的大小增加 8 倍。 搭配追蹤旗標 4618 使用時,TokenAndPermUserStore 快取存放區中的專案數目會增加至 8,192。 如需針對 TokenAndPermUserStore 快取大小問題進行疑難排解的詳細資訊,請參閱當 TokenAndPermUserStore 快取的大小在 2005 SQL Server成長時,查詢需要較長的時間才能完成執行。 範圍: 僅限全域。 |
4616 | 讓應用程式角色可以看見伺服器層級的中繼資料。 在SQL Server中,應用程式角色無法存取本身資料庫外的中繼資料,因為應用程式角色未與伺服器層級主體相關聯。 這是舊版SQL Server的行為變更。 設定這個全域旗標可停用新限制,使應用程式角色可以存取伺服器層級的中繼資料。 範圍: 僅限全域。 |
4618 | 將 TokenAndPermUserStore 快取存放區中的項目數限制為 1,024。 搭配追蹤旗標 4610 使用時,TokenAndPermUserStore 快取存放區中的專案數目會增加至 8,192。 如需針對 TokenAndPermUserStore 快取大小問題進行疑難排解的詳細資訊,請參閱當 TokenAndPermUserStore 快取的大小在 2005 SQL Server成長時,查詢需要較長的時間才能完成執行。 範圍: 僅限全域。 |
4621 | 將 TokenAndPermUserStore 快取存放區中專案數目限制為使用者在登錄機碼中指定的數目。 如需詳細資訊,請參閱 KB959823。 範圍: 僅限全域。 |
4631 | 停用SHA2_256/AES256 來雜湊產生加密金鑰的密碼。 從 2017 SQL Server (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 | 當有足夠的記憶體可用時,可讓多個大型查詢編譯取得大型閘道的存取權。 此追蹤旗標可用來保留記憶體使用量,以便在受控制的情況下對傳入查詢進行編譯,避免編譯等候並行的大型查詢。 它是以 SQL Server 目標記憶體的百分之 80 為基礎,且每 25 GB 的記憶體允許一個大型查詢編譯。 如需詳細資訊,請參閱 KB3024815。 注意:從 2014 SQL Server 2014 (12.x) Service Pack 2 和 SQL Server 2016 (13.x) 此行為是由引擎控制,追蹤旗標 6498 沒有任何作用。 範圍: 僅限全域。 |
6527 | 在 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。 注意:從 2016 SQL Server 2016 (13.x) 此行為是由引擎控制,追蹤旗標 6533 沒有任何作用。 範圍: 全域和會話。 |
6534 | 啟用從 2012 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 及更新版本。 從 2017 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 和更新版本。 範圍: 僅限全域。 |
7314 | 強制將有效位數/小數位數不明的數值視為帶有 OLE DB 提供者的雙精度浮點數值。 如需詳細資訊,請參閱 KB3051993。 範圍: 全域和會話。 |
7412 | 啟用分析基礎結構的輕量型查詢執行統計資料。 如需詳細資訊,請參閱 KB3170113。 注意:此追蹤旗標適用于 SQL Server 2016 (13.x) Service Pack 1 和更新版本。 從 2019 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從作業系統接收全域記憶體狀態訊號時,會使用工作集的大小。 追蹤旗標 8020 會在SQL Server解譯全域記憶體狀態訊號時,從考慮中移除工作集記憶體的大小。 如果您不正確地使用此追蹤旗標,可能會發生繁重分頁,而且效能可能不佳。 因此,開啟追蹤旗標 8020 前,請先連絡 Microsoft 支援服務。 您只能在啟動時開啟追蹤旗標 8020。 範圍: 僅限全域。 |
8032 | 將快取限制參數還原為 2005 SQL Server 2005 (9.x) 設定,一般允許快取較大。 當經常重複使用的快取專案無法放入快取中,以及當 特定工作負載的優化伺服器組態選項 無法解決計畫快取的問題時,請使用此設定。 警告: 如果大型快取可供其他記憶體取用者使用較少的記憶體,例如緩衝集區,追蹤旗標 8032 可能會導致效能不佳。 範圍: 僅限全域。 |
8048 | 將 NUMA 分割記憶體物件轉換成 CPU 分割記憶體物件。 如需詳細資訊,請參閱 KB2809338。 注意:從 2014 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。 從 2016 SQL Server 2016 (13.x) 此行為是由引擎控制,追蹤旗標 8075 沒有任何作用。 範圍: 僅限全域。 |
8079 | 允許SQL Server 2014 (12.x) Service Pack 2 來詢問硬體設定,並在每個 NUMA 節點報告 8 或更多 CPU 的系統上自動設定軟體 NUMA。 自動軟體式 NUMA 會以感知超執行緒 (HT/邏輯處理器) 的方式運作。 其他節點的分割和建立可藉由增加接聽程式數目、調整以及網路和加密功能,來調整背景處理的規模。 注意:此追蹤旗標適用于 SQL Server 2014 (12.x) Service Pack 2。 從 SQL Server 2016 開始, (13.x) 此行為是由引擎控制,追蹤旗標 8079 沒有任何作用。 範圍: 僅限全域。 |
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 開始,預設會啟用此行為。 如需微調鎖定競爭的詳細資訊,請參閱 追蹤旗標 8101和 KB4538688。 適用于: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。 範圍: 僅限全域。 |
8207 | 啟用異動複寫和 CDC 的 singleton 更新。 訂閱者的更新可以複寫為 DELETE 和 INSERT 配對。 這可能不符合商務規則,例如引發 UPDATE 觸發程序。 使用追蹤旗標 8207 時,只影響一個資料列的唯一資料行更新 (單一更新) 會複寫為 UPDATE,而不是 DELETE 或 INSERT 配對。 如果更新影響存在唯一條件約束的資料行,或是更新影響多個資料列,更新仍會複寫為 DELETE 或 INSERT 配對。 如需詳細資訊,請參閱 KB302341的封存版本。 範圍: 僅限全域。 |
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 和更新版本。 範圍: 僅限全域。 |
8558 | 啟用修正,以確保您不會觀察啟用 RCSI 隔離等級的邊緣案例,因此交易有時看不到使用 DTC 交易修改之資料表的最新資料,即使xa_commit短時間內傳回成功也一樣。 注意: 請先確定您已徹底測試此選項,再將其輪流至生產環境。 此追蹤旗標適用于 SQL Server 2022 (16.x) 和更新版本。 範圍: 僅限全域。 |
8721 | 當自動更新統計資料執行時回報至錯誤記錄檔。 如需詳細資訊,請參閱 KB195565的封存版本。 注意: 此追蹤旗標需要啟用追蹤旗標 3605 。 範圍: 僅限全域。 |
8744 | 停用預先擷取巢狀迴圈運算子。 警告:當SQL Server執行包含巢狀迴圈運算子的計畫時,此追蹤旗標的使用不正確可能會導致額外的實體讀取。 範圍: 全域和會話。 |
8790 | 導致執行 UPDATE 語句以更新資料表中的索引時,SQL Server使用廣泛的查詢計劃。 當您對叢集索引資料行執行 UPDATE 時,SQL Server不僅會更新叢集索引本身,也會更新所有非叢集索引,因為非叢集索引包含叢集索引鍵。 若要優化效能並減少隨機 I/O SQL Server可以選擇排序記憶體中的所有非叢集索引資料,然後依順序更新所有索引。 這稱為寬方案 (也稱為 Per-Index Update) ,而且可以使用此追蹤旗標強制 範圍: 全域、會話或查詢 (QUERYTRACEON) 。 |
8904 | 啟用修正以解決次要複本上的平行重做失敗。 如需詳細資訊,請參閱 KB5004649。 注意:此追蹤旗標僅適用于 2019 SQL Server 2019 (15.x) ,從 CU 12 開始。 適用于:SQL Server 2019 (15.x) 範圍: 僅限全域。 |
9024 | 將全域記錄集區記憶體物件轉換成 NUMA 節點分割的記憶體物件。 如需詳細資訊,請參閱 KB2809338。 注意:從 2012 SQL Server 2012 (11.x) Service Pack 3 和 SQL Server 2014 (12.x) Service Pack 1 開始,此行為是由引擎控制,追蹤旗標 9024 沒有任何作用。 範圍: 僅限全域。 |
9109 | 停用查詢通知功能的啟動。 如需詳細資訊,請參閱 還原或復原可能會在資料庫中使用查詢通知時失敗或花費很長的時間。 警告: 請小心使用此追蹤旗標。 此追蹤旗標在一組有限的案例中可能很有用,主要用於疑難排解或隔離問題。 範圍: 全域和會話。 |
9347 | 停用排序運算子的批次模式。 SQL Server 2016 (13.x) 引進了新的批次模式排序運算子,可提升許多分析查詢的效能。 如需詳細資訊,請參閱 KB3172787。 範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
9348 | 能夠使用查詢最佳化工具基數估計值,決定是否應起始叢集資料行存放區索引的 BULK INSERT。 如果要插入的資料列估計數目小於 102,400,則 Database Engine 會使用 BULK INSERT。 如果估計的資料列超過102400 個,就會起始 BULK INSERT。 如需詳細資訊,請參閱 KB2998301。 範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
9349 | 停用前 N 個排序運算子的批次模式。 SQL Server 2016 (13.x) 引進了新的批次模式頂端排序運算子,可提升許多分析查詢的效能。 範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
9358 | 停用排序運算子的批次模式。 如需詳細資訊,請參閱 KB3171555。 注意:從 2017 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) 。 |
9453 | 停用批次模式執行。 如需詳細資訊,請參閱 KB4016902。 注意: 請先確定您已徹底測試此選項,再將其輪流至生產環境。 範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
9471 | 導致SQL Server在查詢最佳化工具基數估計模型下,使用單一資料表篩選準則的最小選取性來產生計畫,SQL Server 2014 (12.x) 和更新版本。 從 2016 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成這項作業,請新增 USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES' 查詢提示,而不是使用此追蹤旗標。注意: 請先確定您已徹底測試此選項,再將其輪流至生產環境。 注意: 此追蹤旗標不適用於 CE 版本 70。 請改用追蹤旗標 4137。 範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
9476 | 造成SQL Server使用簡單內含專案假設來產生計畫,而不是預設基底內含專案假設,在查詢最佳化工具基數估計模型下,SQL Server 2014 (12.x) 和更新版本。 如需詳細資訊,請參閱此 KB3189675。 從 2016 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選項。 從 2016 SQL Server 2016 (13.x) Service Pack 1 開始,若要在查詢層級完成這項作業,請新增 USE HINT 'FORCE_LEGACY_CARDINALITY_ESTIMATION' 查詢提示,而不是使用此追蹤旗標。範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
9485 | 停用 的 DBCC SHOW_STATISTICS SELECT 許可權。 如需詳細資訊,請參閱 KB2683304。範圍: 僅限全域。 |
9488 | 將資料表值函式的固定估計設定為預設值 1 (,其對應至 2008 R2 SQL Server 2008 R2 (10.50.x) 和更早) 版本的查詢最佳化工具基數估計模型時,SQL Server 2012 (11.x) 基數估計模型和更新版本。 範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
9495 | 在 INSERT...SELECT 作業的插入期間停用平行處理原則,這項規則同時套用至使用者和暫存資料表。 如需詳細資訊,請參閱 KB3180087。 範圍: 全域或會話。 |
9567 | 在自動植入期間,針對 Always On 可用性群組啟用資料流的壓縮。 在自動植入期間,壓縮可以大幅縮短傳輸時間,而且會增加處理器負載。 如需詳細資訊,請參閱自動初始化 Always On 可用性群組和微調可用性群組的壓縮。 範圍: 全域或會話。 |
9571 | 停用對預設資料庫路徑進行可用性群組自動植入。 如需詳細資訊,請參閱 磁片配置。 範圍: 全域或會話。 |
9576 | 停用 2016 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) 和更新版本。 範圍: 僅限全域。 |
9929 | 將記憶體中的檢查點檔案大小減少至各 1 MB。 如需詳細資訊,請參閱 KB3147012。 範圍: 僅限全域。 |
9939 | 只要它們不是 2016 SQL Server 2016 (13.x) 中的 DML 作業目標,即可在參考記憶體優化資料表或資料表變數的 DML 作業中啟用記憶體優化資料表和資料表變數的平行掃描。 如需詳細資訊,請參閱 KB4013877。 注意: 如果也明確啟用追蹤旗標 4199,則不需要追蹤旗標 9939。 範圍: 全域或會話或查詢 (QUERYTRACEON) 。 |
9944 | 當資料庫具有大量記憶體最佳化資料表或記憶體最佳化資料表類型,而且可能觀察到 PREMPTIVE_OS_FINDFILE 或 PREEMPTIVE_OS_CREATEDIRECTORY 等候類型的封鎖時,啟用緩慢資料庫復原時間的非預設修正程式。 如需詳細資訊,請參閱 KB4090789 和 KB4052338。 範圍: 僅限全域。 |
10054 | 停用SQL Server查詢最佳化工具規則,將 OR 述詞中的子查詢更正為外部聯結。 注意:此追蹤旗標適用于 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 資料庫超大規模資料庫服務層級內布建延展資料表。 注意:此追蹤旗標適用于 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 Database Standard 服務層級 (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 | 藉由將 SELECT 和 INSERT 陳述式之間的記憶體分佈最佳化,以改善資料行存放區索引的資料載入作業可擴縮性。 如需將資料載入資料行存放區索引的詳細資訊,請參閱資料行存放區索引 - 資料載入指導。注意:此追蹤旗標適用于 SQL Server 2019 (15.x) 和更新版本。 範圍: 僅限全域。 |
11068 | 針對資料行存放區索引插入作業使用伺服器、資料庫或資源集區經設定平行處理原則的最大程度 (MAXDOP) 值。 如需覆寫平行處理原則程度的詳細資訊,請參閱查詢處理架構指南。 重要: 只有在已啟用追蹤旗標 11064 時,此追蹤旗標才有效。 重要: 如果更快速載入資料比維護資料行存放區區段品質更重要時,請使用此追蹤旗標。 例如,將 1,048,577 個資料列載入資料行存放區時,如果插入作業是以平行模式執行,則使用此追蹤旗標可能會產生多個壓縮的資料列群組。 如果沒有此追蹤旗標,則插入作業會產生一個壓縮的資料列群組。 注意:此追蹤旗標適用于 SQL Server 2019 (15.x) 和更新版本。 範圍: 僅限全域。 |
11631 | ALTER INDEX ... REORGANIZE 和背景合併工作只會在從該資料列群組刪除特定資料列閾值時,清除資料行存放區索引資料列群組中已刪除的資料列。 預設閾值是 10% 的資料列限制上限, (1 百萬個) ,或 100,000 個數據列。此追蹤旗標會將臨界值變更為資料行存放區資料列群組中目前資料列總數的 10%。 例如,如果資料列群組包含 20,000 個數據列,則此資料列群組視為清除之前,閾值會是 2,000 個已刪除的資料列。 如需詳細資訊,請參閱 KB5000895。 注意:此追蹤旗標適用于 SQL Server 2019 (15.x) CU 9 和更新版本。 範圍: 僅限全域。 |
11634 | ALTER INDEX ... REORGANIZE 和背景合併工作只會在從該資料列群組刪除特定資料列閾值時,清除資料行存放區索引資料列群組中已刪除的資料列。 預設閾值為 10% 的資料列限制上限, (1 百萬個) 或 100,000 個數據列。此追蹤旗標會將臨界值變更為資料行存放區資料列群組中 1% 的資料列。 如果與追蹤旗標 11631 一起啟用,則會是資料列群組中目前資料列數目的 1%, 而不是 1 百萬個數據列的 1%。 如需詳細資訊,請參閱 KB5000895。 注意:此追蹤旗標適用于 SQL Server 2019 (15.x) CU 9 和更新版本。 範圍: 僅限全域。 |
12481 | 停用稽核記錄欄位中外部許可權 external_policy_permission_checked 的記錄稽核資訊。 如需詳細資訊,請參閱 KB5022375。注意:此追蹤旗標適用于 SQL Server 2022 (16.x) CU 1 和更新版本。 範圍: 僅限全域。 |
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。 範圍: 僅限全域。 |
13156 | 停用「具有大量純量運算式重新評估的 UDF 調用」修正可能會導致非產生排程器錯誤的問題。 此原始修正有時會造成效能回歸。 如需詳細資訊,請參閱 KB4538581。 範圍: 僅限全域。 |
15025 | 停用新建立虛擬記錄檔 (VLF) 所需的 Azure 金鑰保存庫存取權,這可讓大量客戶工作負載繼續,而不會中斷。 啟用此追蹤旗標之後,SQL Server會使用可延伸金鑰管理來產生加密和金鑰,而且不會在建立 VLF 期間連絡 Azure 金鑰保存庫。 如需詳細資訊,請參閱 大量客戶工作負載的資料庫協助工具問題,這些工作負載使用 EKM 進行加密和金鑰產生。 注意:此追蹤旗標適用于 2019 SQL Server 2019 (15.x) CU 19、SQL Server 2022 (16.x) CU 1 和更新版本。 範圍: 僅限全域。 |
15097 | 啟用 SQL Server 2022 (16.x) 和更新版本的 AVX-512 支援。 重要: 我們建議針對下列 CPU 啟用 AVX-512 支援: - Intel Ice Lake 和更新版本 - AMD EYPC 在更新版本中 注意:此追蹤旗標適用于 SQL Server 2022 (16.x) 和更新版本。 範圍: 全域或會話。 |
15212 | 停用 Service Broker 計時器訊息,當做逾時事件的詳細語音總機。 受此追蹤旗標影響的訊息為: SSBDT: Dialog timer delete during registration 在 Service Broker 對話方塊清除序列和 SSBDT: Dialog timer delete during dispatch Service Broker 對話方塊關閉序列中。 啟用此追蹤旗標之後,會略過這些非正式訊息的列印。注意:此追蹤旗標適用于 SQL Server 2022 (16.x) 和更新版本。 範圍: 僅限全域。 |
另請參閱
- 資料類型 (Transact-SQL)
- DBCC INPUTBUFFER (Transact-SQL)
- DBCC OUTPUTBUFFER (Transact-SQL)
- EXECUTE (Transact-SQL)
- SELECT (Transact-SQL)
- SET NOCOUNT (Transact-SQL)
- 查詢提示 (Transact-SQL)
- SQL Server診斷偵測到未回報的 I/O 問題