SQL SERVER日常运维巡检系列之-实例级参数
前言
做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。
本系列旨在解决一些常见的困扰:
不知道巡检哪些东西
不知道怎么样便捷体检
机器太多体检麻烦
生成报告困难,无法直观呈现结果
实例的参数对系统性能和稳定的影响很重要,系统级别的参数可能会根据业务的变化而变化,但防止系统参数设置不合理或被意外修改,系统参数检查也是巡检中的必要项。
系统参数概览
1.在【检查项】-【全部】页面检查是否有设置不合理的参数,当参数设置未通过检查,会有警告。

具体参数设置
在【参数】页查看具体的参数配置。
注:合理参数与不合理参数为平台计算公式所得,个人针对系统特点进行的调整可能会被列入不合理范围(此情况可忽略警告)。


参数说明
参数设置不合理带来的影响:
参数设置不佳可能导致系统硬件无法发挥最大性能,或造成性能问题。例如:最大内存的设置,设置过小会导致系统无法利用内存而使性能出现严重问题,反之不设置或过大会导致在操作系统内存压力时强制释放SQL Server内存导致SQL Server无法工作。
1.最大并行度(max degree of parallelism)
一般建议系统如果超过32个CPU 那么设置成8或者4,如果系统中都是特别短小且频繁的语句建议设置成1(取消语句并行,要慎重真的符合你的场景才好)
注:很多时候并行度设置和你的服务器CPU配置有关,比如有几路、几核、是否超线程,一般来说不要跨物理CPU为好。
并行度的设置是针对实例级别的设置(SQL2016中可以对单独数据库设置)
微软官方建议:https://support.microsoft.com/zh-cn/kb/329204
2.并行开销的阀值(cost threshold for parallelism) 仅当运行同一查询的串行计划的估计开销高于在“并行的开销阈值”中设置的值时,SQL Server 才创建和运行该查询的并行计划。 开销指的是在特定硬件配置中运行串行计划估计需要花费的时间(秒)。 “并行的开销阈值”选项可设置为 0 到 32767 之间的任何值。 默认值为 5。
在某些情况下,即使查询的开销计划小于当前“并行的开销阈值”的值,也有可能选择并行计划。 出现这种情况,是因为使用并行还是串行计划是根据完成完全优化之前所提供的开销估计确定的。
注:主要控制SQL优化器何时选用并行计划,建议默认值,此值设置的越小优化器越容易选择并行计划。
3.服务器内存( min server memory 和 max server memory)
max server memory (建议设置): 一般推荐如果内存较小操作系统预留3G-4G ,如果内存大256或512以上在数据库内存无压力时预留5%-10%给操作系统,剩下给SQL SERVER ,如果服务器还有其他应用还要在SQL 中减掉应用所占的内存。
min server memory(服务器存在多个实例建议设置):当计算机上存在其他占用大量内存的进程时,这种方法也十分有用,因为它可确保 SQL Server 至少获得合理的内存量。 这种方法的缺点是:当启动新的实例(或任何其他进程)时,运行的实例可能会花费一些时间来释放内存,如果实例必须将修改后的页写回到数据库中来释放内存,则花费的时间可能会更长。
带有工作负荷的第一个实例通常分配所有的内存。 空闲实例或稍后启动的实例最终可能会只使用最少的可用内存量运行。 SQL Server 不会尝试均衡分配各个实例的内存使用量。 但是,所有实例均将响应 Windows 内存通知信号以调整它们内存需求量的大小。 Windows 不会使用内存通知 API 来平衡各个应用程序使用的内存。 它只提供有关系统内存可用性的全局反馈。
注:最大服务器内存控制 SQL Server 内存分配,包括缓冲池、编译内存、所有缓存、QE 内存授予、锁定管理器内存和 CLR 内存(实际上是 sys.dm_os_memory_clerks 中找到的任何内存分配器)。 线程栈的内存、内存堆、除 SQL Server 之外的链接服务器提供程序以及由非 SQL Server DLL 分配的任何内存都不受最大服务器内存控制。
注:SQL Server 不会在启动时立即分配 min server memory 中指定的内存量。 不过,除非降低 min server memory 的值,否则当内存使用量由于客户端负荷而达到该值后,SQL Server 不能释放内存。
4. xp_cmdshell 使SQL SERVER可以使用cmdshell功能应用
xp_cmdshell 属于外围应用配置在新安装的 SQL Server的默认配置中,功能并未启用。以最大限度地减少可能受到恶意用户攻击的功能数。
注:部分客户使用脚本备份数据库时开启xp_cmdshell功能,可以使用master.dbo.xp_delete_file 等系统过程代替。
总结
参数设置不佳可能导致系统硬件无法发挥最大性能,或造成性能问题。例如:最大内存的设置,设置过小会导致系统无法利用内存而使性能出现严重问题,反之不设置或过大会导致在操作系统内存压力时强制释放SQL Server内存导致SQL Server无法工作。
在巡检中及时发现系统参数配置变化与是否合理,这也是重要的巡检项。
北京格瑞趋势科技有限公司是聚焦于数据服务的高新技术企业,成立于2008年,创始团队及核心技术人员来自微软和雅虎。微软数据平台合作伙伴,卫宁健康数据平台战略合作伙伴。通过产品+服务双轮驱动的业务模式,14年间累计服务4000+客户,覆盖互联网、市政、交通、电信、医疗、教育、电力、制造业等各个领域。
SQL SERVER日常运维巡检系列之-实例级参数的更多相关文章
- SQL SERVER自动化运维系列
SQL SERVER自动化运维系列 转自:https://www.cnblogs.com/zhijianliutang/p/5001142.html 本系列为SQL SERVER自动化运维的一些操作技 ...
- SQL Server 自动化运维系列
本系列为SQL SERVER自动化运维的一些操作技巧点,所有内容都是根据日常运维过程中最经常遇到的问题,并为此形成了一些自动化运维的方式,皆为原创.... 供部分DBA和开发人员浏览借鉴,所应用平台基 ...
- 1、SQL Server自动化运维 - 备份(一)业务数据库
为了能够恢复数据,数据库运维基础就是备份,备份自动化也是运维自动化首要进行的. 笔者的备份自动化,通过配置表快速配置为前提,同时记录备份过程,尽可能的减少人工操作.首先将SQL Server备份按用途 ...
- sql server自动化运维脚本
数据库运维中盛传一个小段子,我误删除了数据库,改怎么办?有备份还原备份,没有备份就准备简历!听起来有趣但发生在谁身上,谁都笑不起来.接触了很多的客户发现90%客户的运维策略都不是很完善.本篇就分享一些 ...
- Istio 运维实战系列(3):让人头大的『无头服务』-下
本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 失败的 Eur ...
- SQL Server自动化运维系列——监控跑批Job运行状态(Power Shell)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在上一篇文章中已经分析了SQL SERVER中关于邮 ...
- SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...
- SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 邮件作为一种非常便利的预警实现方式,在及时性和易用性 ...
- SQL Server自动化运维系列——关于数据收集(多服务器数据收集和性能监控)
需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...
- SQL Server自动化运维系列 - 监控磁盘剩余空间及SQL Server错误日志(Power Shell)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...
随机推荐
- Solution -「CF 590E」Birthday
\(\mathscr{Description}\) Link. 给定 \(n\) 个字符串 \(S_{1..n}\),选出其一个最大子集 \(T\),使得 \(T\) 中的字符串两两不存在包含 ...
- 记一次 contentInsetAdjustmentBehavior 引发的bug
注:本文同步发布于微信公众号:stringwu的互联网杂谈记一次 contentInsetAdjustmentBehavior 引发的bug 1 背景 项目中使用到了UILable来展示相关的文本内容 ...
- 镜像分层复用与Dockerfile
- 多云时代!天翼云TeleDB以科技创新释放数据价值
8月17日,在第14届中国数据库技术大会(DTCC2023)上,天翼云科技有限公司数据库首席技术官李跃森以<天翼云TeleDB持续创新之路>为题发表演讲,介绍了天翼云TeleDB数据库的发 ...
- [记录点滴] luaxml编译过程
[记录点滴] luaxml编译 记录一次luaxml编译的解决过程 参考 http://blog.csdn.net/dc_show/article/details/38957991 0x01 编译错误 ...
- AI工具推荐:领先的开源 AI 代码助手——Continue
前言 之前介绍了VS Code中的AI插件Cline与Roo Code,这两个都是根据给定一个任务,开始自动写代码的.除了这两个AI代码工具之外,在平常我还很喜欢的就是Continue . Conti ...
- Ollama 模型迁移备份工具 ollamab
背景 ollama 模型和相关配置文件默认都放在 models 文件夹下,想要把指定模型迁移到其他电脑比较麻烦,所以就有了该工具.还有就是模型下载本身就慢,一次下载多台使用减少下载次数.最重要的是公司 ...
- C#实现文件的压缩和解压缩
原文链接:https://www.cnblogs.com/sunyaling/archive/2009/04/13/1434602.html 在C#中实现文件的压缩和解压缩,需要使用第三方的组建完成. ...
- N-gram基本原理
N-gram模型是一种语言模型(Language Model,LM),语言模型是一个基于概率的判别模型,它的输入是一句话(单词的顺序序列),输出是这句话的概率,即这些单词的联合概率(joint pro ...
- MybatisPlus - [02] HelloWorld
参考:https://www.cnblogs.com/haoxinyue/p/5208136.html(分布式系统唯一ID生成方案汇总) 一.准备工作 (1)创建数据库: create databas ...