SQLServer—系统中的内存配置
前言:
本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE来限制内存。但是,在SQLServer2012以后,这个选项将被弃用,所以不能使用这种方式来控制32位实例的虚拟地址空间。如果你服务器上有很多内存,就只能升级到64位系统。下面是微软给出的内存限制:

虽然2012以后已经弃用AWE,但是了解一下32位系统如何使用AWE(Address WindowingExtensions)来使得操作系统能够访问更多的内存。如果可用的物理内存比Maximum Server memory选项的还要多,那么SQLServer会锁定在Maximum Server memory选项,如果Maximum Server memory选项没有设置或者物理内存比这个选项设置得还要少,那么SQLServer实例会占用所有可用内存,仅保留256MB。
准备工作:
记住当前的Maximum Server memory和Minimum Server memory的值,可以在视图sys.configurations表中查看,这个视图包含有系统级别的的配置信息。
步骤:
1、 用以下语句设置SQLServer的最小内存:
- EXEC sp_configure 'min server memory (MB)', 1024
- GO
- RECONFIGURE WITH OVERRIDE ;
- GO
EXEC sp_configure 'min server memory (MB)', 1024
GO
RECONFIGURE WITH OVERRIDE ;
GO
2、 用以下脚本设置最大内存:
- EXEC sp_configure 'max server memory (MB)', 3000
- GO
- RECONFIGURE WITH OVERRIDE ;
- GO
EXEC sp_configure 'max server memory (MB)', 3000
GO
RECONFIGURE WITH OVERRIDE ;
GO
分析:
步骤1配置最小内存给SQLServer,默认值为0,可以设置最小值小于或等于max server memory的值。
步骤2配置SQLServer的最大分配内存,默认值为2TB,这个值不能少于64M。
所有的设置都储存在SQLServer的buffer pool中。如果你使用32位系统,你的SQLServer不能使用超过3G的内存。不管你有多少可用内存在服务器上。除非开启了AWE和PAE。
如果系统中的系统服务仅仅运行了SQLServer,那么设置最大内存即可,但是如果有多个服务同时运行。并且域控制器使用了最大内存,SQLServer将会内存不足,换个角度,如果SQLServer使用了最大内存,那么域控制器又会内存不足,引起,应该合理配置内存,以避免内存的溢出。
实际操作过程为:
可以先查询系统内存具体配置:
SELECT * FROM SYS.CONFIGURATIONS;
要打开系统配置高级选项,否则执行更改会提示出错:
SP_CONFIGURE 'show advanced options',1
执行结果:配置选项 'show advanced options' 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。 RECONFIGURE WITH OVERRIDE --命令已成功完成。
执行修改:
EXEC sp_configure 'max server memory (MB)', 2000
GO
RECONFIGURE WITH OVERRIDE ;
GO
执行结果:配置选项 'max server memory (MB)' 已从 2147483647 更改为 2000。请运行 RECONFIGURE 语句进行安装。
SQLServer—系统中的内存配置的更多相关文章
- 第十七章——配置SQLServer(2)——32位和64位系统中的内存配置
原文:第十七章--配置SQLServer(2)--32位和64位系统中的内存配置 前言: 本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE ...
- 修改 /var/lib/locales/supported.d/local 文件(使用 locale -a 命令查看系统中所有已配置的 locale)
转自:http://zyxhome.org/wp/cc-prog-lang/c-stdlib-setlocale-usage-note/ http://www.west263.com/info/htm ...
- 在RedHat Linux系统中安装和配置snmp服务
检查系统是否安装snmp服务 # rpm -qa|grep snmp net-snmp-5.3.2.2-17.el5 net-snmp-perl-5.3.2.2-17.el5 net-snmp-dev ...
- Linux系统中NFS服务配置
文章目录: 一.NFS服务简介 二.NFS服务端配置 三.NFS客户端配置 四. ...
- Linux CentOS7系统中phpMyAdmin安装配置
今天介绍的是如何在Linux CentOS7系统中配置phpMyAdmin. 目录 环境准备 安装包 基本设置 网站预览 环境准备 linux centos7系统 ssh软件 php语言环境 mysq ...
- Linux CentOS7系统中mysql8安装配置
mysql是世界上最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司所有.今天我将记录一下如何在Linux centos7系统上安装和配置MySQL. 目录 环境准 ...
- linux系统中给mysql配置环境变量
安装过程就不写了,记得安装的路径就行,接下来要用到. 修改配置文件 vim /etc/profile 设置环境变量 写一个MYSQL_HOME,值为“mysql的安装路径” 在PATH后面加上$MYS ...
- Linux系统中使用Nignx配置反向代理负载均衡
目录 使用nginx实现动静分离的负载均衡集群 使用nginx实现负载均衡和动静分离 使用nginx实现动静分离的负载均衡集群 Nginx官网源码包下载链接:http://nginx.org/en/d ...
- Linux CentOS7系统中php安装配置
本篇讲解如何配置php开发环境,让你的php代码可以正常的在网页中运行. 准备工作 linux centos7操作系统 ssh软件 nginx php资源 想要了解更多关于php的内容,请访问: ph ...
随机推荐
- 用wget实现cookie欺骗
用wget实现cookie欺骗 . 分析登录界面的html代码 页面在 http://bbs.linuxeden.com/ <form. id="loginform" met ...
- APM终端用户体验监控分析(下)
一.前言 [APM 终端用户体验监控分析(上)][1]从 APM 终端用户产品特性.使用建议.以及从[真实用户体验][2]和[模拟性能监控][3]两方面入手给大家进行了简单的分享. 本文为下篇,将给大 ...
- Javascript学习笔记1 数论
1.Javascript不用担心内存的回收与对象的销毁! 2.Javascript有:±infinity.NaN全局变量表示 被0整除的±无穷 和 非数字.undefined和null表示 未定义 和 ...
- POJ 1338
#include<iostream> #include<stdio.h> #include<iomanip> #define MAXN 100000 using n ...
- 在wpf窗体上添加用户控件
1.引用用户控件的命名控件 xmlns:my="clr-namespace:WpfApplicationDemo.Control" 2.把用户控件添加到窗体中 <my:Use ...
- 2014多校第五场1010 || HDU 4920 Matrix multiplication(矩阵乘法优化)
题目链接 题意 : 给你两个n*n的矩阵,然后两个相乘得出结果是多少. 思路 :一开始因为知道会超时所以没敢用最普通的方法做,所以一直在想要怎么处理,没想到鹏哥告诉我们后台数据是随机跑的,所以极端数据 ...
- C#的控制台程序输出
1. int nChar; string mystring; Console.WriteLine("{0} {1}",nChar,mystring); 其中{0},{1}为占位符 ...
- Java7编程 高级进阶学习笔记--嵌套类
定义: 在一个类中定义的类叫做嵌套类. 作用: 1.允许对相关类进行逻辑分组 2.增强了代码的封装性 3.使代码具有更强的可读性和维护性 使用方式: package com.cmz.baseTest; ...
- cache写策略
cache写策略 Write Through (完全写入) CPU向cache写入数据时,同时向memory也写一份,使cache和memory的数据保持一致.优点是简单,缺点是每次都要访问memor ...
- [iOS]利用通知实现监听系统键盘
// // ViewController.m // text // // Created by 李东旭 on 16/1/22. // Copyright © 2016年 李东旭. All rights ...