欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL Server 2016的数据库范围内的配置详解

程序员文章站 2022-09-02 18:56:10
sql server 2016真的让人眼前一亮。几天前微软就提供了rco(候选发布版)版本的。我已经围观了一圈rco版本,其中一个最拽的功能是数据库范围内的配置(datab...

sql server 2016真的让人眼前一亮。几天前微软就提供了rco(候选发布版)版本的。我已经围观了一圈rco版本,其中一个最拽的功能是数据库范围内的配置(database scoped configuration),在今天的文章里我想谈谈它。补充几句:装好之后,居然发现没有ssms,崩溃中,原来是在向导中就有独立的安装程序,好吧!

SQL Server 2016的数据库范围内的配置详解

SQL Server 2016的数据库范围内的配置详解

这配色,真是低调有内涵。

另外,如过你的电脑已经安装了就【microsoft visual studio 2010 shell(独立)redistributable package 】,卸载掉吧,好像会影响ssms的安装。

SQL Server 2016的数据库范围内的配置详解

启动画面。

SQL Server 2016的数据库范围内的配置详解

登录界面。

数据库范围内的配置

我们知道,sql server有很多配置选项只能在sql server实例级别进行全局配置。例如maxdop选项(当你不使用资源调控器时)。另外微软提供我们大量不同的跟踪标记(trace flags)可以修改sql server的内部行为。微软现在最终宣布这些领域,sql server 2016会为我们提供现存的配置选项,在数据库级别就可以配置,而不使用特定的跟踪标记(trace flags)。

SQL Server 2016的数据库范围内的配置详解

我们来详细看下它们。使用早期参数估计(legacy cardinality estimation )选项,你可以控制sql server是否使用老的还是sql server 2014里引入的新的参数估计。这是个新的配置选项,以前可以通过来实现。

maxdop选项就不用解释了!终于你可以在数据库级别控制maxdop!这真的太拽了!尤其对于sharepoint。我来看看sharepoint的后续版本会不会支持数据库级别的maxdop...对了,我已经很期待在数据库级别1的maxdop的数据库,来回避可恶的cxpacket等待。

参数探查(parameter sniffing)!微软称它为特色,我叫它为bug,通常来说参数探查是个好事,因为查询优化器基于你首次提供的输入值来编译查询计划。这很棒,但缺点是生成的查询计划对提供输入参数敏感,且只对那些参数进行优化。如果你后来用不同的参数值重用缓存的查询计划,就会影响你的性能。

只用这个配置选项,现在你可以控制查询优化器是否使用参数探查。它可以用来替换。如果你禁用参数探查,当你使用optimize for unknown查询提示时,sql server内部使用同样的行为——它不会给你

最后你有查询优化修补程序(query optimizer fixes configuration option)。这个配置选项启用或停用一些特定的查询修补程序,它用来代替跟踪标记4199。

小结

我真的很喜欢数据库范围内的配置!尤其是maxdop选项。对于sharepoint来说,它是个巨大的优势,如果我们只针对运行sharepoint的特定数据库使用1的maxdop,剩下的一切会比配置实例的maxdop好很多。

对于这些新的配置选项,你觉得如何?喜欢它们么?请尽情留言。