新的 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 用来配置数据库级别配置。
这个语句可以配置每个数据库的配置:
- 清理过程cache
- 设置MAXDOP参数,可以配置primary和secondary
- 设置查询优化器的评估模式
- 启动和关闭数据库级别的参数嗅探
- 启动和关闭数据库级别的查询优化补丁
- 启动和关闭数据库级别的identity cache
语法:
ALTER DATABASE SCOPED CONFIGURATION
{
{ [ FOR SECONDARY] SET <set_options> }
}
| CLEAR PROCEDURE_CACHE
| SET < set_options >
[;]
< set_options > ::=
{
MAXDOP = { <value> | PRIMARY}
| LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY}
| PARAMETER_SNIFFING = { ON | OFF | PRIMARY}
| QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY}
| IDENTITY_CACHE = { ON | OFF }
}
参数:
FOR SECONDARY
指定设置secondary的数据库
MAXDOP = { <value> | PRIMARY}
设置MAXDOP,默认为0,如果设置了再数据库执行的时候会覆盖sp_configure中的配置,如果有查询提示,查询提示会覆盖这个配置。
PRIMARY的意思是,如果在secondary上设置了primary,那么secondary会集成primary上的设置。
LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY}
可以让你设置查询优化器评估模式,如果为OFF会根据兼容级别使用查询优化器评估模式,如果为ON使用老的查询优化器的评估模式。
PRIMARY和上面的一样
PARAMETER_SNIFFING = { ON | OFF | PRIMARY}
启动和关闭参数嗅探
QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY}
启动和关闭查询优化补丁,和数据库兼容级别无关。默认是OFF,关闭查询优化补丁,关于补丁具体看 Microsoft Support article.
CLEAR PROCEDURE_CACHE
清理过程计划可以在primary,secondary中执行。
IDENTITY_CACHE = { ON | OFF }
启动和关闭数据库级别的identity cache。默认是on,identity cache用来提高insert在identity中的性能。为了避免identity的间隙可以选择关闭。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现