我想开始使用带有Erin Stellato 建议设置的查询存储。
USE [master]
GO
ALTER DATABASE DatabaseName SET QUERY_STORE = ON
GO
ALTER DATABASE DatabaseName SET QUERY_STORE (OPERATION_MODE = READ_WRITE
, INTERVAL_LENGTH_MINUTES = 30
, MAX_STORAGE_SIZE_MB = 1000
, QUERY_CAPTURE_MODE = AUTO)
GO
Run Code Online (Sandbox Code Playgroud)
但这是一个数据库设置,我希望能够一次激活一个实例的所有数据库。
我找到了SET RECOVERY Model Using sp_msforeachdb (at serverfault)
我可以使用 OP 的解决方案
EXECUTE master.sys.sp_MSforeachdb 'USE [?];
IF DB_ID() >= 5
ALTER DATABASE [?] SET QUERY_STORE = ON
ALTER DATABASE [?] SET QUERY_STORE (OPERATION_MODE = READ_WRITE
, INTERVAL_LENGTH_MINUTES = 30
, MAX_STORAGE_SIZE_MB = 1000 …Run Code Online (Sandbox Code Playgroud) 查询存储在 SQL Server 2016+ 和 Azure SQL DB 中可用,默认情况下处于启用状态。对于本地 SQL Server,它必须在每个数据库上单独启动。
创建新数据库时,有没有办法默认启用查询存储?