You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/relational-databases/performance/intelligent-query-processing-cardinality-estimation-feedback.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -150,7 +150,7 @@ This feature was introduced in [!INCLUDE [ssSQL22](../../includes/sssql22-md.md)
150
150
151
151
| Issue | Date discovered | Status | Date resolved |
152
152
| --- | --- | --- | --- |
153
-
| Slow SQL Server performance after you apply Cumulative Update 8 for [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)] under certain conditions. You might encounter dramatic Plan Cache memory utilization along with unexpected increases in CPU utilization when CE feedback is enabled. | December 2023 | Has [workaround](#slow-sql-server-performance-after-you-apply-cumulative-update-8-for-sql-server-2022-under-certain-conditions)||
153
+
| Slow SQL Server performance after you apply Cumulative Update 8 for [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)] under certain conditions. You might encounter dramatic Plan Cache memory utilization along with unexpected increases in CPU utilization when CE feedback is enabled. | December 2023 |(Updated May 2024) Has [workaround](#slow-sql-server-performance-after-you-apply-cumulative-update-8-for-sql-server-2022-under-certain-conditions)||
154
154
155
155
### Known issues details
156
156
@@ -160,7 +160,7 @@ Starting with [!INCLUDE[sssql22-md](../../includes/sssql22-md.md)] Cumulative Up
160
160
161
161
This issue does not affect all workloads, and depends on the number of different plans that have been generated as well as the number of plans that were eligible for the CE feedback feature to engage. During the period of time that CE feedback is analyzing plan operators where significant model misestimations occurred, there is a scenario in which during this analysis phase, a plan that was being referenced can become dereferenced in memory without allowing the plan to subsequently be removed from memory by way of the normal Least Recently Used (LRU) algorithm. The LRU mechanism one way that SQL Server enforces plan eviction policies. SQL Server will also remove plans from memory if the system is under memory pressure. When SQL Server attempts to remove the plans that have been dereferenced improperly, it is unable to remove those plans from the plan cache, which causes the cache to continue to grow. The growing cache might start to cause additional compilations that will ultimately use more CPU and memory. For more information, see [Plan Cache Internals](/previous-versions/tn-archive/cc293624(v=technet.10)).
162
162
163
-
**Symptom**: The number of plan cache **entries in use** and are marked as **dirty** from either SQL Plans or Object Plans increases over time to 50,000 or more. If you observe plan cache entries that start to approach this level along with unexpected increases in CPU utilization, your system may be encountering this issue. A related fix was provided in[!INCLUDE[sssql22-md](../../includes/sssql22-md.md)] Cumulative Update 9. See [KB5030731](/troubleshoot/sql/releases/sqlserver-2022/cumulativeupdate9#2499342). The fix attempted to address an issue in which plan cache entries are evicted when the Cardinality Estimation (CE) feedback tries to get the associated profile, which causes a memory corruption. Additional fixes for this issue will be available in an upcoming Cumulative Update.
163
+
**Symptom**: The number of plan cache **entries in use** and are marked as **dirty** from either SQL Plans or Object Plans increases over time to 50,000 or more. If you observe plan cache entries that start to approach this level along with unexpected increases in CPU utilization, your system may be encountering this issue. A fix has been provided with[!INCLUDE[sssql22-md](../../includes/sssql22-md.md)] Cumulative Update 12. See [KB5033663](/troubleshoot/sql/releases/sqlserver-2022/cumulativeupdate12#2890724).
164
164
165
165
To monitor the number of plan cache entries that your system is using, the following examples can be used as a point in time view of the number of plan cache entries that exist. As an example, watching the number of plan cache entries that are marked as dirty, periodically over time is one way to monitor for this phenomenon.
166
166
@@ -250,7 +250,7 @@ AND counter_name IN ('Batch Requests/sec', 'SQL Compilations/sec'
250
250
);
251
251
```
252
252
253
-
**Workaround**: The CE Feedback feature can be disabled at the database level until additional fixes become available if your system is experiencing the symptoms that have been described previously. To reclaim the plan cache memory that had been taken up by this issue, a restart of the SQL Server instance is required. This restart action can be taken after the CE Feedback feature is disabled. To disable CE feedback at the database level, use the `CE_FEEDBACK`[database scoped configuration](../../t-sql/statements/alter-database-scoped-configuration-transact-sql.md#ce_feedback---on--off-). For example, in the user database:
253
+
**Workaround**: If after applying Cumulative Update 12 [KB5033663](/troubleshoot/sql/releases/sqlserver-2022/cumulativeupdate12#2890724) your system continues to experience the symptoms that have been described previously; the CE Feedback feature can be disabled at the database level. To reclaim the plan cache memory that had been taken up by this issue, a restart of the SQL Server instance is required. This restart action can be taken after the CE Feedback feature is disabled. To disable CE feedback at the database level, use the `CE_FEEDBACK`[database scoped configuration](../../t-sql/statements/alter-database-scoped-configuration-transact-sql.md#ce_feedback---on--off-). For example, in the user database:
254
254
255
255
```sql
256
256
ALTERDATABASE SCOPED CONFIGURATION SET CE_FEEDBACK = OFF;
0 commit comments