第十七章——配置SQLServer(4)——优化SQLServer实例的配置

原文:第十七章——配置SQLServer(4)——优化SQLServer实例的配置

前言:

Sp_configure 可以用于管理和优化SQLServer资源,而且绝大部分配置都可以使用SQLServer ManagementStudio的图形化界面实现。

准备工作:

为了查看SQLServer当前实例的配置,也可以使用下列查询来实现:

SELECT  *
FROM    sys.configurations
ORDER BY name

下面是本机的结果:

步骤:

1、 执行下面语句,以便看到实例级别的配置:

sp_configure
GO

2、 为了查看所有可见的配置,可以使用以下语句:

sp_configure ‘show advanced options‘, 1 ;
GO
RECONFIGURE
GO

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所在服务器存在其他耗内存的软件时更加如此。

扩充知识:

对巨型表创建索引,不仅相当耗时耗资源,且会导致日志文件在短时间内疯狂增长。

时间: 2024-08-13 12:26:58

第十七章——配置SQLServer(4)——优化SQLServer实例的配置的相关文章

第十七章——配置SQLServer(3)——配置“对即时负载的优化”

原文:第十七章--配置SQLServer(3)--配置"对即时负载的优化" 前言: 在第一次执行查询或者存储过程时,会创建执行计划并存储在SQLServer的过程缓存内存中.在很多时候,我们会执行一些简单的程序,仅仅执行一次,而为这些查询创建存储过程是非常浪费内存资源的.由于内存不足,可能会导致你的缓存溢出,从而影响性能.在2005之前,这是一个大问题,为了纠正这个问题.微软在SQLServer 2008中引入了对即时查询负载的优化功能.这个功能在2012也依旧可用.是基于实例级别的.

第十七章——配置SQLServer(1)——为SQLServer配置更多的处理器

原文:第十七章--配置SQLServer(1)--为SQLServer配置更多的处理器 前言: SQLServer提供了一个系统存储过程,SP_Configure,可以帮助你管理实例级别的配置.微软建议使用默认配置,但是基于不同的服务器.不同负载的系统和你的用法,更改配置可能会给你的性能带来好处.在32位和64位系统中,sp_configure会有一些差异. 我们经常见到SQLServer所在的服务器上还包含了如IIS.文件服务器或者域控制器这些服务或者功能.这些会影响你的性能甚至对正常运作有阻

第十七章——配置SQLServer(2)——32位和64位系统中的内存配置

原文:第十七章--配置SQLServer(2)--32位和64位系统中的内存配置 前言: 本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE来限制内存.但是,在SQLServer2012以后,这个选项将被弃用,所以不能使用这种方式来控制32位实例的虚拟地址空间.如果你服务器上有很多内存,就只能升级到64位系统.下面是微软给出的内存限制: 虽然2012以后已经弃用AWE,但是了解一下32位系统如何使用AWE(Address Windowi

SQLServer 复制和数据库镜像 详细配置部署

SQLserver 可以把镜像和复制同时部署,结合了双方的高可用性,可以使数据库得到更好的高可用性和容灾的保证. 关于镜像:数据库镜像 关于复制:数据库镜像 本章的复制为事务可更新订阅:事务复制的可更新订阅 关于复制和数据库镜像:复制和数据库镜像 理论的东西参考官方文档吧,这里主要是部署配置过程. 下图为本章参考部署的架构图: 本章模拟的服务器: kk-ad 192.168.2.1 DC(域控) kk-db1 192.168.2.10 主机(Replication + Mirror) kk-db

03.SQLServer性能优化之---存储优化系列

汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概  述:http://www.cnblogs.com/dunitian/p/6041323.html#com 以下内容皆为个人摸索,没有人专门指导(公司不给力啊!DBA和大牛都木有...),所以难免出错,如有错误欢迎指正,小子勇于接受批评~(*^__^*) ~ 水平分库分表和垂直分库分表,大家都经常谈,我说下我的理解,看图: 垂直分表就不用说了,基本上会SQLServer的都会. 垂

SQLServer性能优化之 nolock,大幅提升数据库查询性能

公司数据库随着时间的增长,数据越来越多,查询速度也越来越慢.进数据库看了一下,几十万调的数据,查询起来确实很费时间. 要提升SQL的查询效能,一般来说大家会以建立索引(index)为第一考虑.其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH (NOLOCK)可以改善在线大量查询的环境中数据集被LOCK的现象藉此改善查询的效能. 不过有一点千万要注意的就是,WITH (NOLOCK)的SQL SELECT有可能会造成Dirty Read,就是读到无效的数据.

02.SQLServer性能优化之---牛逼的OSQL----大数据导入

汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 上一篇:01.SQLServer性能优化之----强大的文件组----分盘存储 http://www.cnblogs.com/dunitian/p/5276431.html 在执行SQL脚本的时候要是出现了这些情况我咋办呢? 步入正轨 应用场景:服务器升级,比如原来是2003的系统,现在换成2008或者2012,那么数据库升级了不止一个档次,咋办?分离附加,备份还原都有点悬了,那么就导

hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)

hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect PostgreSQL 8.1 org.hibernate.dialect.Po

GG配置Oracle同步到SQLServer

源端目标端准备一张测试用的表. Oracle源端: drop table ggmgr.t1; create table ggmgr.t1( id int primary key, name varchar2(50), time date); Sqlserver目标端: BEGIN TRANSACTION SET QUOTED_IDENTIFIER ON SET ARITHABORT ON SET NUMERIC_ROUNDABORT OFF SET CONCAT_NULL_YIELDS_NULL