前言:
Sp_configure 可以用于管理和优化SQLServer资源,而且绝大部分配置都可以使用SQLServer ManagementStudio的图形化界面实现。
准备工作:
为了查看SQLServer当前实例的配置,也可以使用下列查询来实现:
SELECT *FROM sys.configurationsORDER BY name
下面是本机的结果:
步骤:
1、 执行下面语句,以便看到实例级别的配置:
sp_configure GO
2、 为了查看所有可见的配置,可以使用以下语句:
sp_configure 'show advanced options', 1 ;GORECONFIGUREGO
3、 现在来执行步骤一的语句,可以看到结果集变了:
sp_configure GO
4、 执行语句,把恢复间隔加大:
sp_configure 'recovery interval', 5 ;RECONFIGURE WITH OVERRIDE GO
5、 配置索引创建任务中占用的内存大小:
sp_configure 'index create memory (KB)', 1024 ;RECONFIGURE WITH OVERRIDE GO
分析:
先澄清在步骤二以后出现的一个语句,RECONFIGURE WITHOVERRIDE 。这个语句告诉SQLServer接受这个值,如果这个值正确,那么会强迫sp_configure配置这个值给SQLServer。
在步骤1中,sp_configure存储过程显示了实例级别的可用值,这里包含基础配置,如果你想看更加详细的,需要使用步骤2中的语句,把ShowAdvanced Option的值从0设为1。
步骤3中,可以看到有更多的配置,因为在步骤2中已经开启了高级选项。
在步骤4中,设置了恢复间隔为5分钟,意味着每5分钟才发生一次。SQLServer会定期执行checkpoint,把所有脏页写入硬盘的数据页中。
在第五步中,修改了索引创建的占用内存,索引创建操作是其中一种最耗资源的操作,特别是表非常大的时候,会影响SQLServer的可用内存。特别在SQLServer所在服务器存在其他耗内存的软件时更加如此。
扩充知识:
对巨型表创建索引,不仅相当耗时耗资源,且会导致日志文件在短时间内疯狂增长。