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

所属分类: 数据库 / MsSql 阅读数: 1336
收藏 0 赞 0 分享

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

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

另外,如过你的电脑已经安装了就【Microsoft Visual Studio 2010 Shell(独立)Redistributable Package 】,卸载掉吧,好像会影响SSMS的安装。

启动画面。

登录界面。

数据库范围内的配置

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

我们来详细看下它们。使用早期参数估计(Legacy Cardinality Estimation )选项,你可以控制SQL Server是否使用老的还是SQL Server 2014里引入的新的参数估计。这是个新的配置选项,以前可以通过2312和9481跟踪标记来实现。

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

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

只用这个配置选项,现在你可以控制查询优化器是否使用参数探查。它可以用来替换4136跟踪标记。如果你禁用参数探查,当你使用OPTIMIZE FOR UNKNOWN查询提示时,SQL Server内部使用同样的行为——它不会给你优化的性能,但会给你一致的性能……

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

小结

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

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

更多精彩内容其他人还在看

SQL Substring提取部分字符串

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样
收藏 0 赞 0 分享

用户"sa"登陆失败 SQLServer 错误18456的解决方法

sqlserver下用sa登录提示18456错误的解决方法。
收藏 0 赞 0 分享

drop,truncate与delete的区别

这里说的delete是指不带where子句的delete语句
收藏 0 赞 0 分享

SQL语句查询数据库中重复记录的个数

一个sql语句:一个表test有四个字段id,a,b,c,如果表中的记录有三个字段a,b,c都相等,则说明这条记录是相同的,求相同的记录的个数 。
收藏 0 赞 0 分享

SQL 导入导出Excel数据的语句

从Excel文件中,导入数据到SQL数据库中,很简单
收藏 0 赞 0 分享

可以获取客户端的IP地址的sql语句

利用SQL语句得到客户端的IP地址的代码
收藏 0 赞 0 分享

SQL 根据汉字获取全拼的代码

SQL 根据汉字获取全拼(有些字还没有添加上去,请自已加上去,涂聚文注)
收藏 0 赞 0 分享

sqlserver exists,not exists的用法

exists,not exists的使用方法示例,需要的朋友可以参考下。
收藏 0 赞 0 分享

sqlserver substring函数使用方法小结

在操作sqlserver时候用到了substring函数,特整理一些实例,需要的朋友可以参考下。
收藏 0 赞 0 分享

sql 判断数据库,表,存储过程等是否存在的代码

sql下用了判断各种资源是否存在的代码,很实用。需要的朋友可以参考下。
收藏 0 赞 0 分享
查看更多