SQL Server sp_configure 控制内存使用

背景知识:

sp_configure   显示或更改当前服务器的全局配置设置(使用 sp_configure 可以显示或更改服务器级别的设置。)

查看 全局配置值

方法 1、execute sp_configure;直接查看所有。

方法 1、execute sp_configure @configname=‘Name‘;直接查看指定。

方法  2、保存到表中以方便操作

第一步:建表

create table InstanceConfigure(
                                 name nvarchar(35),
                                 minimum int,
                                 maximum int,
                                 config_value int,
                                 run_value int);
                                 go

第二步:插入数据

insert into InstanceConfigure
                                  execute sp_configure;
                                  go

-----------------------------------------------------------------------------------------------------------------------------------------------------------

方法 1、

min server memory 是指sql server r 地址空间增长到这上值以后,就不会小于这个值。当启动sql server时只申请所需要的内存。

execute sp_configure @configname = ‘min server memory (MB)‘,@configvalue = 100
         reconfigure with override;
         go

方法 2、

max server memory 控制 total server memory 的最大大小。也是通过sp_configure 配置;

方法 3、

set working set size 这个过时了,windows 以不再尊重这个参数。也是通过sp_configure 配置;

请不要用。

方法 4、

lock pages in memory

查看我的文章:

http://www.cnblogs.com/JiangLe/p/4008036.html

时间: 2024-10-19 12:51:47

SQL Server sp_configure 控制内存使用的相关文章

SQL Server资源管理之内存管理篇(下)

在上篇文章SQL Server资源管理之内存管理篇(上),介绍了SQL Server的内存管理的一些理论知识,这篇利用这些知识来解决现实中常见的一些问题. 一.数据页缓存压力的调优 前篇我们说过,如果用户访问的数据页面都缓存在内存里,这样的相应速度是最快的.但是现实中,数据库的大小都是大于物理内存的,SQL Server不可能将用户需要的所有数据都缓存在内存中,当用户需要的数据不在内存中,将会发生Paging动作从硬盘中读取需要的数据,偶尔的Paging不会从整体上影响SQL Server的性能

SQL Server资源管理之内存管理篇(上)

对SQL Server来说,最重要的资源是内存.Disk和CPU,其中内存又是重中之重,因为SQL Server为了性能要求,会将它所要访问的数据全部(只要内存足够)放到缓存中.这篇就来介绍SQL Server的内存管理体系. SQL Server作为Windows上运行的应用程序,必须接受Windows的资源管理,利用Windows的API来申请和调度各类资源.但是,由于Windows的资源管理体系,是为了满足大多数的应用程序所设计的,这对于SQL Server这种定位于企业级.支持多用户和高

[转]如何将SQL Server表驻留内存和检测

注意这个功能在SQL2005后已经废弃,因为SQL2005会自动管理哪些表常驻内存. 将SQL Server数据表驻留内存是SQL Server提供的一项功能,在一般小型系统的开发过程中估计很少会涉及到.这里整理了相关文档资料,演示如何把SQL Server中一个表的所有数据都放入内存中,实现内存数据库,提高实时性. 1, DBCC PINTABLE Marks a table to be pinned, which means Microsoft SQL Server does not flu

SQL Server 2005 控制用户权限访问表

转自:http://www.cnblogs.com/gaizai/archive/2011/07/14/2106617.html 一.需求 在管理数据库过程中,我们经常需要控制某个用户访问数据库的权限,比如只需要给这个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限.写这篇文章就是说明下这个操作过程. 其实这只是SQL Server权限管理很简单的一小块,有些地方并没有深入理解和讲述,只是希望对一些刚入门的童鞋有帮助,其它大侠就当是:我当堂吓一跳,然后得啖笑.

关于SQL Server服务占用内存过大---限制数据库内存使用

最近接手维护一个做好的项目,远程登录服务器时发现程序执行时特别卡,利用任务管理器查看了下系统资源使用情况,监视一段时间后发现CPU占用不大,但是内存占用量居高不下,然后发现是Sqlserver.exe这个服务占用内存很大,达到了近2G服务器配置的8G内存,重启Sqlserver服务后内存只有50M左右,但是几天过后又达到了近2G的内存占用,网上查找了下关于这方面的优化策略. 1.使用SQL语句设置SQLserver内存分配: --a.配置最小内存 --将最小内存设置为0MB exec sp_co

理解SQL Server的查询内存授予(译)

此文描述查询内存授予(query memory grant)在SQL Server上是如何工作的,适用于SQL 2005 到2008. 查询内存授予(下文缩写为QMG)是用于存储当数据进行排序和连接时的临时中间数据行.查询在实际执行前需要先请求保留内存,所以会存在一个授予的动作. 这样的好处是提高查询的可靠性和避免单个查询占用所有的内存. SQL Server在收到查询时,会执行3个被定义好的步骤来返回用户所请求的结果集. 1.生成编译计划.它包括各种逻辑指令,如怎么联接数据行. 2.生成执行计

SQL Server 2016:内存列存储索引

作者 Jonathan Allen,译者 谢丽 SQL Server 2016的一项新特性是可以在"内存优化表(Memory Optimized Table)"上添加"列存储索引(Columnstore Index)".要理解这是什么意思,我们应该首先解释术语列存储索引和内存优化表.列存储索引是一种按照列而不是行组织数据的索引.每个数据块只存储一个列的数据,最多包含100万行.因此,如果数据为5列1000万行,那么就需要存储在50个数据块中.当只查询部分列时,这种数

SQL Server 与 Windows 内存使用上的约定

什么时候SQL Server 会释放出自己的内存!以提供给别的程序用呢? -------------------------------------------------------------------------------------------------------------------------------------------------------------- 要说这个就要先说一下SQL Server 中的 target server memory,total ser

SQL Server 流程控制

流程控制语句: BEGIN ... END WAITFOR GOTO WHILE IF ... ELSE BREAK RETURN CONTINURE   1.BEGIN ... END BEGIN ... END语句用于将多个Transact-SQL语句合为一个逻辑块.当流程控制语句必须执行一个包含两条或两条以上的T-SQL语句的语句块时,使用BEGIN ... END语句. 1 BEGIN 2 {sql_statement ... } 3 END 2.IF 1 IF<条件表达式> 2 {命