|
1 | 1 | { |
| 2 | + "version": "0.2", |
| 3 | + "name": "Custom Checks Ruleset", |
2 | 4 | "checks":[ |
3 | 5 | { |
4 | 6 | "target": { |
5 | 7 | "type": "Database", |
6 | 8 | "platform": "Windows" |
7 | 9 | }, |
8 | | - "id": "Custom_SqlServer.Database.AutoUpdateStats", |
9 | | - "tags": [ "InternalBestPracticeSet", "Performance" ], |
10 | | - "displayName": "Auto-Update Statistics should be on", |
| 10 | + "id": "Custom_AutoUpdateStats", |
| 11 | + "tags": [ "InternalBestPracticeSet", "Performance", "CustomRuleset" ], |
| 12 | + "displayName": "Custom check: Auto-Update Statistics should be on", |
11 | 13 | "description": "The query optimizer needs up-to-date and accurate statistics in order to generate good plans. In most cases, it's best to let SQL Server maintain the statistics. If you turn 'Auto Create Stats' and 'Auto Update Stats' off, then it is up to you to keep the statistics up-to-date somehow. Failure to do so will lead to poor query performance. Most applications should have these options ON.\n \n When the Auto Update Statistics setting is ON, the query optimizer updates statistics when they are used by a query and when they might be out-of-date. Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. The query optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. The threshold is based on the number of rows in the table or indexed view. The query optimizer checks for out-of-date statistics before compiling a query and before executing a cached query plan. Before compiling a query, the query optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. Before executing a cached query plan, the Database Engine verifies that the query plan references up-to-date statistics. The AUTO_UPDATE_STATISTICS option applies to statistics created for indexes, single-columns in query predicates, and statistics that are created by using the CREATE STATISTICS statement. This option also applies to filtered statistics.", |
12 | 14 | "message": "Turn Auto-Update Statistics option on to improve query performance.", |
13 | 15 | "helpLink": "https://blogs.msdn.microsoft.com/buckwoody/2009/08/18/sql-server-best-practices-auto-create-and-auto-update-statistics-should-be-on-most-of-the-time/", |
14 | | - "probes": [ "DatabaseConfiguration" ], |
| 16 | + "probes": [ "Custom_DatabaseConfiguration" ], |
15 | 17 | "condition": "@is_auto_update_stats_on" |
16 | 18 | }, |
17 | 19 | { |
|
21 | 23 | "platform": "Windows", |
22 | 24 | "name": { "not": "/^(master|msdb)$/" } |
23 | 25 | }, |
24 | | - "id": "Custom_SqlServer.Database.QueryStoreOn", |
25 | | - "tags": [ "InternalBestPracticeSet", "Performance" ], |
26 | | - "displayName": "Query Store should be on", |
| 26 | + "id": "Custom_QueryStoreOn", |
| 27 | + "tags": [ "InternalBestPracticeSet", "Performance", "CustomRuleset" ], |
| 28 | + "displayName": "Custom check: Query Store should be on", |
27 | 29 | "description": "The SQL Server Query Store feature provides you with insight on query plan choice and performance. It simplifies performance troubleshooting by helping you quickly find performance differences caused by query plan changes. Query Store automatically captures a history of queries, plans, and runtime statistics, and retains these for your review. It separates data by time windows so you can see database usage patterns and understand when query plan changes happened on the server.", |
28 | 30 | "message": "Turn Query Store option on to improve query performance troubleshooting.", |
29 | 31 | "helpLink": "https://docs.microsoft.com/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store", |
30 | | - "probes": [ "DatabaseConfiguration" ], |
| 32 | + "probes": [ "Custom_DatabaseConfiguration" ], |
31 | 33 | "condition": "@is_query_store_on" |
32 | 34 | } |
33 | 35 | ], |
34 | 36 | "probes":{ |
35 | | - "DatabaseConfiguration": [ |
| 37 | + "Custom_DatabaseConfiguration": [ |
36 | 38 | { |
37 | 39 | "type": "SQL", |
38 | 40 | "target": { |
|
58 | 60 | ] |
59 | 61 | } |
60 | 62 | } |
61 | | - |
|
0 commit comments