使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

摘要

此更新引進了新的 query 提示引數,使用提示可讓您以無提升認證的方式驅動查詢優化程式,或不是 sysadmin 伺服器角色的成員。 這個新查詢提示的語法如下所示:

<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}

此更新程式也會引入下列提示選項,這些選項可與 USE 提示 引數搭配使用。

對等追蹤標誌

描述

適用于

ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS

TF 9476

使 SQL Server 使用簡單的包容假設(而不是連接的預設基本包容假設)來產生查詢方案(在查詢最佳化工具下方) SQL Server 2014 (12. x)或更新版本的基數估計模型。

ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES

TF 4137

使 SQL Server 在評估與需要相關的篩選器謂語時,使用最小選擇性來產生方案。此提示名稱會平行于 在 sql server 2012 (11. x)與較舊版本的基數估計模型搭配使用追蹤標記9471 與基數估計模型為 sql server 2014 (12. x)或更高版本時,追蹤標誌4137。

DISABLE_BATCH_MODE_ADAPTIVE_JOINS

停用批次模式自我調整連接。

從 SQL Server 2017 開始

DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK

停用批次模式記憶體授與意見反應。

從 SQL Server 2017 開始

DISABLE_DEFERRED_COMPILATION_TV

停用表格變數延遲編譯。

從 SQL Server 2019 開始

DISABLE_INTERLEAVED_EXECUTION_TVF

停用多語句資料表值函數的交叉執行。

從 SQL Server 2017 開始

DISABLE_OPTIMIZED_NESTED_LOOP

TF 2340

在產生查詢方案時,指示查詢處理器不要使用排序運算(批次排序)來優化嵌套迴圈連接。

DISABLE_OPTIMIZER_ROWGOAL

TF 4138

使 SQL Server 產生無法將資料行目標修改用於包含這些關鍵字之查詢的方案:

  • 返回頁首

  • 選項(快速 N)

  • 存在

DISABLE_PARAMETER_SNIFFING

TF 4136

指示查詢最佳化工具在使用一或多個參數編譯查詢時,使用平均資料分配。這個指令可讓查詢計劃獨立于編譯查詢時第一次使用的參數值。使用這個提示來覆寫資料庫範圍的 設定設定 PARAMETER_SNIFFING = OFF.

DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK

停用列模式記憶體授與意見反應。

從 SQL Server 2019 開始

DISABLE_TSQL_SCALAR_UDF_INLINING

停用 [標量 UDF 內嵌]。

從 SQL Server 2019 開始

DISALLOW_BATCH_MODE

停用批次模式執行。

從 SQL Server 2019 開始

ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS

TF 4139

針對需要基數估計的任何前導索引欄,啟用自動產生的快速統計資料(長條圖修正)。 用來評估基數的長條圖將會在查詢編譯時間調整,以考慮此資料行的實際最大值或最小值。

ENABLE_QUERY_OPTIMIZER_HOTFIXES

TF 4199

啟用查詢最佳化工具修復程式(在 SQL Server 累計更新和 Service Pack 中發佈的變更)。 使用此提示來覆寫 資料庫範圍 的配置設定 QUERY_OPTIMIZER_HOTFIXES = 開啟.

FORCE_DEFAULT_CARDINALITY_ESTIMATION

TF 9481

強制使用查詢優化程式 與目前資料庫相容性等級相對應的基數估計模型。使用此提示來覆寫資料庫範圍 的配置設定 LEGACY_CARDINALITY_ESTIMATION = 開啟。

FORCE_LEGACY_CARDINALITY_ESTIMATION

TF 9481

強制使用查詢優化程式 SQL Server 2012 (11. x)及較舊版本的基數估計模型。使用這個提示來覆寫資料庫範圍的配置設定 LEGACY_CARDINALITY_ESTIMATION = 開啟.

QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n

在查詢層級強制執行查詢優化程式列為。這種行為的發生方式就是使用資料庫相容性等級編譯查詢 n,其中n是支援的資料庫相容性等級。請參閱sys.dm_exec_valid_use_hints ,以取得目前支援之 n 個值的清單。

在 SQL Server 2017 (十四)中開始(CU10)

如需詳細資訊,請參閱 提示(Transact-sql)-Query

其他相關資訊

此更新包含在 SQL Server 2016 的 Service Pack 1 中。

 

每個新組建的 SQL Server 2016 包含所有的修復程式,以及先前組建中所包含的所有安全性修正程式。 我們建議您安裝 SQL Server 2016 的最新組建

在下列情況中,SQL Server 查詢優化程式(QO)行為必須是相當常見的方式,而且傳統的是使用幾個(已記錄且未記錄的)追蹤標記來解決這些問題。 不過,在全域設定追蹤旗標時,它們可能會對其他工作負載產生負面影響。 此外,針對現有的應用程式啟用它們,並讓每個查詢都能使用選項 QUERYTRACEON ,讓他們能夠使用 sysadmin 固定伺服器角色的成員資格。 (雖然您可以使用「規劃指南」或「儲存程式」)來解決這種行為,但仍需要提升的認證。追蹤標記是用來暫時設定特定伺服器的特性,或關閉特定行為,可能難以管理和理解。如需有關追蹤標誌的詳細資訊,請參閱 Microsoft 開發人員網路(MSDN)網站上的追蹤標誌(transact-sql) 主題。

參考

瞭解 Microsoft 用於描述軟體更新的 詞彙

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×