主页 > 知识库 > SQL Server安装完成后3个需要立即修改的配置选项

SQL Server安装完成后3个需要立即修改的配置选项

热门标签:AI电销 铁路电话系统 网站排名优化 百度竞价排名 呼叫中心市场需求 Linux服务器 服务外包 地方门户网站

你用安装向导安装了全新的SQL Server,最后你点击了完成按钮。哇噢~~~现在我们可以把我们的服务器进入生产了!抱歉,那并不是真的,因为你的全新SQL Server默认配置是错误的。

是的,你没看错:SQL Server的默认安装在很多方面的配置是错误的。在今天的文章里,我想给你展示下,为了更快的性能,在SQL Server安装完成后3个你需要立即修改的配置选项。我们开始吧!

最大服务器内存(Max Server Memory)
免责声明:如果这些天你在32位系统上运行你的SQL Server,请扔掉你的硬件,买个64位的系统,安装64位的SQL Server,然后从这里继续读。

现在在你面前你应该i有个64位的SQL Server。64位意味着你可以理论上访问2^64的内存大小——那是16艾字节(10亿GB)!因为这些巨量的内存,计算机供应商当前限制64位系统的地址总线“只有”48位——完全64位没有真正意义。用48位的地址空间,你可以访问256TB的内存——那还是大量的空间。

你可以使用最大服务器内存配置选项来配置SQL Server可以消耗的内存大小。下图显示的是在64位系统上SQL Server默认安装后的配置选项。

从刚才的图片你可以看到,SQL Server默认配置是可以消耗上至2147483647MB的内存——那是2千兆!嗯,用48位的地址总线我们只能物理访问256TB的内存,现在SQL Server可以消耗上至2千兆的内存?这里有什么东西不对……最大服务器内存设置比32位最大整形值还大——2147483647。没别的。因此SQL Server可以消耗比物理地址更多的内存?这是一个很不好的默认配置。SQL Server默认可以吃光你整个物理内存!

你总应该改变这个配置选项,这样的话你可以给系统一些内存,让它可以活着喘气。一般来说(在服务器上没有其它程序/进程)你应该系统至少10%的物理内存。这就是说你需要调低最大服务器内存设置。有64GB的物理内存我会配置最大服务器内存为56GB,这样的话系统可以用剩下的8G来消耗和工作。

并行开销阀值(Cost Threshold for Parallelism)
下一个你需要修改的配置选项是SQL Server处理并行开销的阀值。并行意味着SQL Server能透过多个工作线程运行执行计划里的运算符。并行的目的是提高你查询的吞吐量。SQL Server里第1个影响并行的配置选项是所谓的并行开销阀值

这里你配置的数字定义查询成本,查询优化器用它来找更便宜的并行执行计划。如果找到的并行计划更便宜,这个计划会被执行,不然串行计划会被执行。从刚才的图你可以看到,SQL Server默认配置使用5的成本阀值。当你的串行计划查询成本大于5,然后查询优化器再次运行查询优化来找更便宜并行执行计划的可能。

遗憾的是,5的成本值当下来说是个很小的数字。因此SQL Server太快尝试并行你的执行计划。当你处理更大的查询并行才有意义——例如报表或数据仓库情形。在纯OLTP情形下,并行计划象征着糟糕的索引设计,因为当你有缺失索引时,SQL Server需要扫描你的整个聚集索引(在与过滤(Filter)和剩余谓语(residual predicate)组合里),因此你的查询成本越来越大,它们穿过成本阀值,最后查询优化器给你并行计划。当人们看到并行计划时,总会担心!但问题根源是缺失非聚集索引。

对于并行的成本阀值,我总推荐至少20,甚至50。那样的话,你确保SQL Server只为你对更大的查询进行并行。即使在你面前有个并行计划,你也应该考虑下可否通过增加一个支持的非聚集索引来是这个查询成本更低。另外,CXPACKET并不象征着在你的系统里你有并行问题!

最大并行度(Max Degree of Parallelism (MAXDOP))
当在SQL Server里一个执行计划进入并行,最大并行度定义了执行计划里每个并行运算符可用工作线程。下图显示了这个选项的默认配置。

如你所见,SQL Server使用默认值0。这个值意味着SQL Server尝试并行化你的执行计划穿过分配给SQL Server的所有CPU内核(默认情况所有内核都分配给SQL Server!)。你应该能看出这样的设置没有意义,尤其当你有大量CPU内核的系统。并行化本身带来负担,一旦你使用越多的工作线程,这个负担越大。

一个建议是设置最大并行度为在一个NUMA结点里拥有的内核数。因此在查询执行时,SQL Server会尝试在一个NUMA结点里保持并行计划,这也会提高性能。

有时你也会看到建议去设置最大并行度为1。这个是不好的建议,因为这个使你的“整个”SQL Server 单线程!即使维护操作(例如索引重建)已单线程执行,这会严重伤及性能!当然也有一些“获奖”产品指示你使用1的最大并行度(MAXOP)……

将承载 SharePoint 数据库的 SQL Server 实例的最大并行度 (MAXDOP) 设置为 1 以确保单个 SQL Server 过程能够为每个请求提供服务。

小结
在你安装完SQL Server后,DBA的真正工作才开始:你需要配置你的SQL Server安装到你的硬件配置。在这篇文章里你已看到,SQL Server的默认配置是明显错误的。因此在安装后立即修改一些配置选项非常重要。我已经见过生产环境里SQL Server使用我这里提到的默认选项,因为它们“稍后“会被配置,“稍后”就从未发生了……

因此今天请帮自己一个忙,为最大性能和吞吐量配置你的SQL Server!

精彩专题分享: SQL Server安装教程手册

读完这篇文章是不是大家都已经行动啦,快点去完善你的SQL Server数据库吧!

您可能感兴趣的文章:
  • SQLserver安装时要求CDKEY的解决办法
  • SQL SERVER 2008 无法附加数据库的解决方法
  • Sql Server安装出错,安装程序配置服务器失败的解决方法小结
  • 使用SQL Server 2008远程链接时SQL数据库不成功的解决方法
  • sqlserver数据库大型应用解决方案经验总结
  • 安装sql server 2008时的4个常见错误和解决方法
  • 图解mysql数据库的安装
  • SQL Server数据库安装时常见问题解决方案集锦
  • SQL Server 2016正式版安装配置过程图文详解
  • SQL Server2016正式版安装配置方法图文教程

标签:黄山 崇左 铜川 衡水 湘潭 兰州 湖南 仙桃

巨人网络通讯声明:本文标题《SQL Server安装完成后3个需要立即修改的配置选项》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266