Last active
April 11, 2019 14:45
-
-
Save ghotz/7e3844bd44b5b2b45098d86fd2fbbef4 to your computer and use it in GitHub Desktop.
Generate Query Store activation commands for multiple databases
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| WITH DBsize AS | |
| ( | |
| SELECT D1.[name] AS DatabaseName, SUM(CAST(F1.size as bigint)) * 8192 / 1024 / 1024 AS DatabaseSizeMB | |
| FROM sys.databases AS D1 | |
| JOIN sys.master_files AS F1 | |
| ON D1.database_id = F1.database_id | |
| WHERE D1.database_id > 4 AND F1.type_desc = 'ROWS' | |
| GROUP BY D1.[name] | |
| ) | |
| , SizeRules AS | |
| ( | |
| SELECT DatabaseName, DatabaseSizeMB | |
| , CASE | |
| WHEN CAST(DatabaseSizeMB * 0.1 AS bigint) < 1024 | |
| THEN 1024 | |
| ELSE CAST(DatabaseSizeMB * 0.1 AS bigint) | |
| END QuerystoreMaxSize | |
| , 15 AS QueryStaleDays | |
| FROM DBSize | |
| ) | |
| SELECT DatabaseName, DatabaseSizeMB, QuerystoreMaxSize, QueryStaleDays | |
| , 'ALTER DATABASE [' + DatabaseName + '] SET QUERY_STORE = ON; ' | |
| + 'ALTER DATABASE [' + DatabaseName + '] SET QUERY_STORE (OPERATION_MODE = READ_WRITE, ' | |
| + 'CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = ' + CAST(QueryStaleDays AS varchar) +'), ' | |
| + 'MAX_STORAGE_SIZE_MB = ' + CAST(QuerystoreMaxSize as varchar) + ', QUERY_CAPTURE_MODE = AUTO);' | |
| FROM SizeRules | |
| ORDER BY DatabaseName |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment