SQL Server 内存压力解决方案

外部压力:

表现形式:

1、total server memory ↓

2、avilable Mbyte           平衡

3、working set              ↓

如果说SQL server的内存压库来自于外部、我们是去满足SQL server 的内存使用还是去满足外部的内存使用。

如果想SQL server省着点用的话、可以设置它的  max server memory来控制。

内部压力:

表现形式:

1、total server memory 与 targert server memory 一直保持在一个较高的水平两个值基本相等

2、lazy writes/sec 经常不为零

3、page life expectancy 显著下降

4、page reads/sec 经常不为零

5、stolen page 维持在一个比较高的水平

解决办法:

1、最直接的方式加内存,32位机可以开AWE;

2、看是不是可以做到、一台服务器只跑一个数据库;

3、看看运行的SQL 语句是不是天生就要读这么多的数据、如果不是就对它进行改进

改进方案:

A、减少数据读取量、比方说:需要一行就不要去写一条返回整个表的语句。

B、加索引

C、重建索引或表

时间: 2024-12-28 20:54:49

SQL Server 内存压力解决方案的相关文章

Sql Server 内存相关计数器以及内存压力诊断

在数据库服务器中,内存是数据库对外提供服务最重要的资源之一, 不仅仅是Sql Server,包括其他数据库,比如Oracle,MySQL等,都是一类非常喜欢内存的应用. 在Sql Server服务器中,最理想的情况是Sql Server把所有所需的数据全部缓存到内存中,但是这往往也是不现实的,因为数据往往总是大于可用的物理内存 可以说内存是否存在压力能够直接决定数据库能否高效运行,同时,如果内存出现压力,同时也会影响到CPU的使用和存储性能,可以说是一损俱损,具有连带性. 那么,如何识别内存是否

[SQL Server]内存缓存数据写入磁盘(一)首部曲

很少扎实的实践SQL Server Database Engine内部的行为,最近发现某个客户的性能瓶颈可能在Transaction log的I/O,同时另外一家客户正在导入保存厂商异地备援(DR site)的解决方案(不打算用AlwaysOn传送到异地),由于保护的是磁盘资源,我们需要确保磁盘上的mdf.ndf与ldf的一致性. 来笔记Buffer Flush To Disk读书心得以及SQL2012/2014/SQL2016相关的新古与全新功能. 维持ACID的完整性(Atomicity)及

SQL Server 内存中OLTP内部机制概述(一)

----------------------------我是分割线------------------------------- 本文翻译自微软白皮书<SQL Server In-Memory OLTP Internals Overview>:http://technet.microsoft.com/en-us/library/dn720242.aspx ----------------------------我是分割线------------------------------- SQL S

(译)内存沉思:多个名称相关的神秘的SQL Server内存消耗者。

原文:(译)内存沉思:多个名称相关的神秘的SQL Server内存消耗者. 原文出处:https://blogs.msdn.microsoft.com/sqlmeditation/2013/01/01/memory-meditation-the-mysterious-sql-server-memory-consumer-with-many-names/ 对于多个不同名称的内存消费者 你曾经是否想知道内存授予是什么(Memory grants )?什么是查询执行的保留(预定)内存(QE Reser

SQL Server内存不足解决,以及涉及到的知识点

首选,感谢博主shield-hand的一篇文章(ms sql server缓存清除与内存释放).写的非常细致.简洁.我这里并不是自己写博客,而是用自己的思维将众多博文或官网资料做一次整合.  在讲解问题发生原因之前,我先贴出来解决方案.之后再详细剖析其深层次的原因. ms sql server缓存清除与内存释放这篇文章已经给出了非常完美的方案,我就不再赘述了.有一个问题需要注意下,就是脚本操作中最好修个成以下形式: USE [IVMS8100] GO /****** Object: Stored

SQL SERVER 内存分配及常见内存问题(1)——简介

原文:SQL SERVER 内存分配及常见内存问题(1)--简介 一.问题: 1.SQL Server 所占用内存数量从启动以后就不断地增加: 首先,作为成熟的产品,内存溢出的机会微乎其微.对此要了解SQL SERVER与windows是如何协调.共享内存.并且SQL SERVER的内部对内存的管理机制. 2.在Windows 2003以上版本运行的SQL Server,内存使用量突然急剧下降: 内存是Sqlserver的生命线.在errorlog中,出现一下情况:       这类问题往往不是

SQL Server内存理解的误区

SQL Server内存理解 内存的读写速度要远远大于磁盘,对于数据库而言,会充分利用内存的这种优势,将数据尽可能多地从磁盘缓存到内存中,从而使数据库可以直接从内存中读写数据,减少对机械磁盘的IO请求,提高数据读写的效率. 内存对数据库而言是如此的重要,因此只要在涉及数据库优化的地方,我们都可以看到内存的身影.我们通常会想尽各种办法来优化数据库内存的使用,比如开启AWE.设置最大内存.锁定内存页等,但在很多时候,我们实际上都不知道某个配置是否一定能够解决当前的问题,或者我们误以为会解决当前的问题

关于SQL SERVER高并发解决方案

原文地址:http://www.cnblogs.com/zuowj/p/3566247.html 现在大家都比较关心的问题就是在多用户高并发的情况下,如何开发系统,这对我们程序员来说,确实是值得研究,最近找工作面试时也经常被问到,其实我早有去关心和了解这类问题,但一直没有总结一下,导致面试时无法很完整全面的回答,所以今天我专门总结概况了一下关于SQL SERVER高并发解决方案,希望能帮助大家,若有不对之外,还请及时告之,谢谢! SQL SERVER高并发解决方案主要是从以下几个方面: 1.SQ

SQL Server 内存中OLTP内部机制概述(四)

----------------------------我是分割线------------------------------- 本文翻译自微软白皮书<SQL Server In-Memory OLTP Internals Overview>:http://technet.microsoft.com/en-us/library/dn720242.aspx 译者水平有限,如有翻译不当之处,欢迎指正. ----------------------------我是分割线---------------