Skip to content

Commit 5ec794b

Browse files
Merge pull request #34653 from thesqlsith/2025-07-09-iqpupdates-derekw
update for dop feedback GA
2 parents be64964 + 126852a commit 5ec794b

File tree

2 files changed

+5
-9
lines changed

2 files changed

+5
-9
lines changed

docs/relational-databases/performance/intelligent-query-processing-degree-parallelism-feedback.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,24 +94,21 @@ The following XEs are available for degree of parallelism (DOP) feedback:
9494
- `dop_feedback_stabilized`: Occurs when DOP feedback is stabilized for a query.
9595
- `dop_feedback_reverted`: Occurs when a DOP feedback is reverted. The event fires when feedback validation fails on the first feedback provided. The system will revert back to no feedback state.
9696
- `dop_feedback_analysis_stopped` : Occurs when the DOP feedback analysis is stopped for a query.
97+
- `dop_feedback_reassessment_failed` : Occurs when the DOP feedback reassesses a previously persisted feedback choice, but found the persisted value to no longer be valid. This state restarts the feedback loop.
9798

98-
## Persistence for degree of parallelism (DOP) feedback
99-
100-
**Applies to:** [!INCLUDE [sqlserver2022-and-later](../../includes/applies-to-version/sqlserver2022-and-later.md)], [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)]
101-
<!---[!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] (Starting with [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)]) -->
99+
### Persistence for degree of parallelism (DOP) feedback
102100

103101
If the DOP feedback mechanism finds that the new degree of parallelism is good, this optimization is persisted inside the Query Store and will be applied appropriately to a query for future executions.
104102

105103
This feature was introduced in [!INCLUDE [ssSQL22](../../includes/sssql22-md.md)], and is available for queries that operate in the database compatibility level 160 or higher, or the `QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n` hint of 160 and higher, and when Query Store is enabled for the database and is in a "read write" state.
106104

107105
## Related content
108106

107+
- Blog: [Smarter Parallelism: Degree of parallelism feedback in SQL Server 2025](https://techcommunity.microsoft.com/blog/sqlserver/smarter-parallelism-degree-of-parallelism-feedback-in-sql-server-2025/4431318)
109108
- Blog: [Intelligent Query Processing: degree of parallelism feedback](https://cloudblogs.microsoft.com/sqlserver/2022/10/20/intelligent-query-processing-degree-of-parallelism-feedback/)
110109
- [Intelligent query processing in SQL databases](intelligent-query-processing.md)
111-
- [Intelligent query processing features in detail](intelligent-query-processing-details.md)
112110
- [Configure the max degree of parallelism (server configuration option)](../../database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option.md)
113111
- [Cardinality Estimation (SQL Server)](cardinality-estimation-sql-server.md)
114112
- [RECONFIGURE (Transact-SQL)](../../t-sql/language-elements/reconfigure-transact-sql.md)
115-
- [Monitor and Tune for Performance](monitor-and-tune-for-performance.md)
116113
- [Configure Parallel Index Operations](../indexes/configure-parallel-index-operations.md)
117114
- [ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)](../../t-sql/statements/alter-database-scoped-configuration-transact-sql.md)

docs/relational-databases/performance/intelligent-query-processing.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ For demos and sample code of intelligent query processing (IQP) features on GitH
3333
You can make workloads automatically eligible for intelligent query processing by enabling the applicable database compatibility level for the database. You can set this using [!INCLUDE [tsql](../../includes/tsql-md.md)]. For example:
3434

3535
```sql
36-
ALTER DATABASE [WideWorldImportersDW] SET COMPATIBILITY_LEVEL = 160;
36+
ALTER DATABASE [WideWorldImportersDW] SET COMPATIBILITY_LEVEL = 170;
3737
```
3838

3939
The following table details all intelligent query processing features, along with any requirement they have for database compatibility level. For complete details on all IQP features, including release notes and more in-depth descriptions, see [Intelligent query processing features in detail](intelligent-query-processing-details.md).
@@ -67,7 +67,6 @@ The following table details all intelligent query processing features, along wit
6767
| [Memory grant feedback (Percentile)](intelligent-query-processing-memory-grant-feedback.md#percentile-and-persistence-mode-memory-grant-feedback) | Yes, enabled on all databases | Yes, starting with [!INCLUDE [sql-server-2022](../../includes/sssql22-md.md)]) with database compatibility level 140 | Addresses existing limitations of memory grant feedback in a non-intrusive way by incorporating past query execution to refine feedback. |
6868
| [Memory Grant feedback persistence](intelligent-query-processing-memory-grant-feedback.md#percentile-and-persistence-mode-memory-grant-feedback) | Yes, enabled on all databases | Yes, starting with [!INCLUDE [sql-server-2022](../../includes/sssql22-md.md)]) with database compatibility level 140 | Provides new functionality to persist memory grant feedback. Requires Query Store to be enabled for the database and in `READ_WRITE` mode. |
6969
| [CE feedback persistence](intelligent-query-processing-cardinality-estimation-feedback.md#persistence-for-cardinality-estimation-ce-feedback) | Yes, starting with database compatibility level 160 | Yes, starting with [!INCLUDE [sql-server-2022](../../includes/sssql22-md.md)]) with database compatibility level 160 | Requires Query Store to be enabled for the database and in `READ_WRITE` mode. |
70-
| [DOP feedback persistence](intelligent-query-processing-degree-parallelism-feedback.md#persistence-for-degree-of-parallelism-dop-feedback) | Yes, starting with database compatibility level 160 | Yes, starting with database compatibility level 160 | Requires Query Store to be enabled for the database and in `READ_WRITE` mode. |
7170
| [Optimized plan forcing with Query Store](optimized-plan-forcing-query-store.md) | Yes | Yes, starting with [!INCLUDE [sql-server-2022](../../includes/sssql22-md.md)]). | Reduces compilation overhead for repeating forced queries. For more information, see [Optimized plan forcing with Query Store](optimized-plan-forcing-query-store.md). |
7271
| [Scalar UDF Inlining](intelligent-query-processing-details.md#scalar-udf-inlining) | Yes, starting with database compatibility level 150 | Yes, starting in [!INCLUDE [sql-server-2019](../../includes/sssql19-md.md)] with database compatibility level 150 | Scalar UDFs are transformed into equivalent relational expressions that are "inlined" into the calling query, often resulting in significant performance gains. |
7372
| [Parameter Sensitive Plan optimization](parameter-sensitive-plan-optimization.md) | Yes, starting with database compatibility level 160 | Yes, starting in [!INCLUDE [sql-server-2022](../../includes/sssql22-md.md)] with database compatibility level 160 | Parameter Sensitive Plan optimization addresses the scenario where a single cached plan for a parameterized query isn't optimal for all possible incoming parameter values, for example non-uniform data distributions. |
@@ -84,7 +83,7 @@ The following table details all intelligent query processing features, along wit
8483
| [Approximate Percentile](intelligent-query-processing-details.md#approximate-query-processing) | Yes, starting with database compatibility level 110 | Quickly compute percentiles for a large dataset with acceptable rank-based error bounds to help make rapid decisions by using approximate percentile aggregate functions. |
8584
| [Batch Mode on Rowstore](intelligent-query-processing-details.md#batch-mode-on-rowstore) | Yes, starting with database compatibility level 150 | Provide batch mode for CPU-bound relational DW workloads without requiring columnstore indexes. |
8685
| [Cardinality estimation (CE) feedback](intelligent-query-processing-cardinality-estimation-feedback.md) | Yes, starting with database compatibility level 160 | Automatically adjusts cardinality estimates for repeating queries to optimize workloads where inefficient CE assumptions cause poor query performance. CE feedback will identify and use a model assumption that better fits a given query and data distribution to improve query execution plan quality. |
87-
| [Degree of parallelism (DOP) feedback](intelligent-query-processing-degree-parallelism-feedback.md) | Yes, in the Always-up-to-date update policy, starting with database compatibility level 160 | Automatically adjusts degree of parallelism for repeating queries to optimize for workloads where inefficient parallelism can cause performance issues. Requires Query Store to be enabled. |
86+
| [Degree of parallelism (DOP) feedback](intelligent-query-processing-degree-parallelism-feedback.md) | Yes, starting with database compatibility level 160 in the [Always-up-to-date update policy](/azure/azure-sql/managed-instance/update-policy#always-up-to-date-update-policy). No, for the [SQL Server 2022 update policy](/azure/azure-sql/managed-instance/update-policy#sql-server-2022-update-policy). | Automatically adjusts degree of parallelism for repeating queries to optimize for workloads where inefficient parallelism can cause performance issues. Requires Query Store to be enabled. |
8887
| [Interleaved Execution](intelligent-query-processing-details.md#interleaved-execution-for-mstvfs) | Yes, starting with database compatibility level 140 | Uses the actual cardinality of the multi-statement table valued function encountered on first compilation instead of a fixed guess. |
8988
| [Memory grant feedback (Batch Mode)](intelligent-query-processing-memory-grant-feedback.md#batch-mode-memory-grant-feedback) | Yes, starting with database compatibility level 140 | If a batch mode query has operations that spill to disk, add more memory for consecutive executions. If a query wastes > 50% of the memory allocated to it, reduce the memory grant size for consecutive executions. |
9089
| [Memory grant feedback (Row Mode)](intelligent-query-processing-memory-grant-feedback.md#row-mode-memory-grant-feedback) | Yes, starting with database compatibility level 150 | If a row mode query has operations that spill to disk, add more memory for consecutive executions. If a query wastes > 50% of the memory allocated to it, reduce the memory grant size for consecutive executions. |

0 commit comments

Comments
 (0)