Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. WITH DBsize AS
  2. (
  3. SELECT D1.[name] AS DatabaseName, SUM(CAST(F1.size as bigint)) * 8192 / 1024 / 1024 AS DatabaseSizeMB
  4. FROM sys.databases AS D1
  5. JOIN sys.master_files AS F1
  6. ON D1.database_id = F1.database_id
  7. WHERE D1.database_id > 4 AND F1.type_desc = 'ROWS'
  8. GROUP BY D1.[name]
  9. )
  10. , SizeRules AS
  11. (
  12. SELECT DatabaseName, DatabaseSizeMB
  13. , CASE
  14. WHEN CAST(DatabaseSizeMB * 0.1 AS bigint) < 1024
  15. THEN 1024
  16. ELSE CAST(DatabaseSizeMB * 0.1 AS bigint)
  17. END QuerystoreMaxSize
  18. , 15 AS QueryStaleDays
  19. FROM DBSize
  20. )
  21. SELECT DatabaseName, DatabaseSizeMB, QuerystoreMaxSize, QueryStaleDays
  22. , 'ALTER DATABASE [' + DatabaseName + '] SET QUERY_STORE = ON; '
  23. + 'ALTER DATABASE [' + DatabaseName + '] SET QUERY_STORE (OPERATION_MODE = READ_WRITE, '
  24. + 'CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = ' + CAST(QueryStaleDays AS varchar) +'), '
  25. + 'MAX_STORAGE_SIZE_MB = ' + CAST(QuerystoreMaxSize as varchar) + ', QUERY_CAPTURE_MODE = AUTO);'
  26. FROM SizeRules
  27. ORDER BY DatabaseName
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement