Sqlserver内存管理:限制最大占用内存

2023-11-04

一、Sqlserver对系统内存的管理原则是:按需分配,且贪婪(用完不还)。它不会自动释放内存,因此执行结果集大的sql语句时,数据取出后,会一直占用内存,直到占满机器内存(并不会撑满,还是有个最大限制,比机器内存稍小),在重启服务前,sqlserver不会释放该内存,也没有任何办法可人为释放。以下命令虽然可释放缓存,但sqlserver并不会因此释放已占用的内存。

 DBCC FREEPROCCACHE     #清除存储过程相关的缓存
 DBCC FREESESSIONCACHE     #清除会话缓存
 DBCC FREESYSTEMCACHE('All')     #清除系统缓存
 DBCC DROPCLEANBUFFERS     #清除所有缓存

二、唯一的办法是:人为修改最大可占用物理内存进行限制。

三、修改办法如下:

管理员用户登录数据库客户端(Microsoft SQL Server Management Studio),在实例名(树形菜单根节点,显示登录名那栏)上右键,选择属性-->内存,设置“最大服务器内存”,单位为MB,可根据实际内存调整。

四、如此调整后,机器内存便不会被sqlserver耗尽了。

 

扩展:(转自网络)

由于Sql Server对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),Sql Server才会释放一点点内存。所以很多时候,我们会发现运行Sql Server的系统内存往往居高不下。这些内存一般都是Sql Server运行时候用作缓存的,例如你运行一个select语句,那么Sql Server会将相关的数据页(Sql Server操作的数据都是以页为单位的)加载到内存中来,下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。这类的缓存叫做数据缓存。还有一些其他类型的缓存,如执行存储过程时,Sql Server需要先编译再运行,编译后的结果也会缓存起来,下一次就无需再次编译了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sqlserver内存管理:限制最大占用内存 的相关文章

  • 当两个表非常相似时,什么时候应该将它们合并?

    我有事件和照片 然后对两者进行评论 现在 我有两个评论表 一个用于与事件相关的评论 另一个用于照片评论 架构与此类似 CREATE TABLE EventComments CommentId int EventId int Comment
  • SQL Server 2008 中的全文搜索一步一步

    如何开始使用SQL Server 2008 中的全文搜索 阅读这些链接 SQL SERVER 2008 创建全文目录和全文搜索 http blog sqlauthority com 2008 09 05 sql server creatin
  • 重新启动后无法远程或本地连接到 SQL Server

    上周末进行一些网络维护后 我们的开发服务器出现了一些问题 导致我们重新启动它 重新启动期间安装了一些更新 这可能是也可能不是一个因素 从那时起 我们就无法连接到 SQL Server 2005 即使是通过 Management Studio
  • 如何安全地使用保留的 SQL 名称?

    我正在使用 Cakephp 3 使用 sqlserver 作为数据源服务器 我确信我的数据库连接没有问题 因为 home ctp 提示我已连接到我的数据库 并且我还使用迁移插件来创建我的表 似乎使用它没有问题这些工具 但是在我烘焙 MVC
  • SSRS ReportViewer 与 XML 嵌入数据源相关的问题

    我有 C WPF 应用程序 我想在 ReportViewer 控件中显示 SSRS 报告 本地报告文件中嵌入了 XML 数据源 从 SQL Server Business Intelligence Development Studio 运行
  • 如何获取存储过程中的表列表?

    数据库中有很多表和sp 我找到特定 sp 存储过程 中使用的表名称 sp depends sp name 没有给出想要的结果 我也用过INFORMATION SCHEMA TABLES INFORMATION SCHEMA ROUTINES
  • SQL查询从表的每条记录生成多条记录

    我有一个包含 3000 条记录的表 使用其中的每一条记录 我必须生成大约 200 条记录 总共 600k 条记录 并通过 SQL Server 2012 将它们插入到第二个表中 我尝试使用 VBA 执行此操作 从第一个表中选择数据 计算 然
  • 从一条记录中获取多条记录

    我有一个包含 2 列的表 名称为字符串 数量为整数 例如我需要每条记录的数量 X 数量字段 Name Qty Dave 25 Nathan 10 Chaim 8 我需要 Dave 提供的来自 nathan 10 和 chaim 8 的 25
  • SQL 连接池和审核登录/注销

    当我使用 SQL Server Profiler 分析我的应用程序时 我看到很多审核登录 and 审核注销连接到同一数据库的消息 我想知道 这是否表明我的连接池有问题 我之所以问这个问题 是因为我在 MSDN 文档中找到了有关连接池的内容
  • SQL:计算高于组平均值的值

    如何使用 SQL 计算高于一组平均值的值 例如 我有桌子A with q t 1 5 1 6 1 2 1 8 2 6 2 4 2 3 2 1 第 1 组的平均值为 5 25 组内有两个值高于5 25 8和6 因此高于该组平均值的值的数量为
  • 如何在 ssis 包 2016 中捕获毫秒时间戳

    如何在 ssis 包 2016 中捕获当前时间戳 我声明了一个变量并使用表达式 但缺少毫秒 currenttimestamp DT WSTR 50 DT DBTIMESTAMP System StartTime 我也想要毫秒 Thanks
  • 如何从使用 exec() 的存储过程创建复杂类型?

    我想通过动态构造并执行的查询创建一个复杂类型 以便在实体管理器中使用exec 是否可以 既然我正在写一个过滤器 如果不可能的话你会做什么 另外 我正在使用 linq 进行评估 但过滤器需要许多表及其寄存器 因此效率是一个问题 谢谢 是的 您
  • 如何检查 SQL Server 数据库的 Azure 定价层更改历史记录?

    两个月前 我创建了一个具有 S0 定价层的 AZURE SQL 数据库 但不知何故 同一数据库的定价等级突然升级到 P15 持续 10 天 然后再次降级到 S0 我想查一下这是何时以及如何发生的 有什么方法可以从 Azure 门户或使用任何
  • 更新或插入 SQL Server 时忽略错误行

    我的项目必须处理巨大的数据库 在最坏的情况下 它可能是超过8000万行 现在 我有 2 张桌子T1 and T2 我必须从表中复制数据T1到餐桌T2 如果表中的一行T1表中已存在T2 相同主键 然后更新该行其他列的数据T1 to T2 否则
  • 如何在 NHibernate 中使用 READPAST 提示?

    有什么办法可以让 NHibernate 使用吗the READPAST hint https learn microsoft com en us sql t sql queries hints transact sql table从 SQL
  • 找到帖子链接、每个标签对应的相关标签并在用户级别进行回答

    继续我之前的question https stackoverflow com questions 60967044 retrieve count of total no of answers corresponding to each ta
  • 如何只获取 getdate() 的日期部分? [复制]

    这个问题在这里已经有答案了 我有一个包含 CreationDate 字段的 SQL 表 I have getdate 在计算列规格公式中 我想知道如何获取日期部分 即 2012 08 24 而不是 2012 08 24 10 45 17 7
  • 如何停止“已将数据库上下文更改为...”消息

    有什么办法可以阻止Changed database context to 当 SQL 片段有一个时的消息USE database in it 您需要设置错误级别 http msdn microsoft com en us library m
  • 从 docker 中的脚本创建 SQL Server 数据库

    我希望这是一个简单的问题 我在任何地方都找不到任何东西 如何在Microsoft SQL Server Docker容器 Dockerfile 我正在看以下内容Dockerfile FROM microsoft mssql server w
  • FROM 子句中子查询末尾随机字母的含义 - SQL

    我终于成功将两个sql sum查询的结果求和了 这家伙迈出了一小步 我的问题与代码中的最后一个字符 Z 有关 SELECT SUM hr FROM SELECT SUM amount AS hr FROM Try again dbo tue

随机推荐

  • 如何编写脚本对项目代码进行分析(测试篇)

    本篇将从一个测试的角度 对于在开发过程中 如何对代码进行完善的测试 包括功能以及性能的测试 内容属于杂谈 可能不够严谨 但希望能帮到看到这篇文章的各位 前言 我想没有人会质疑测试的重要性 我们自己编写的代码 可能需要经过很多次的测试才能上线
  • Java 数据库介绍

    数据库基础 数据库概念 数据库 Database 是按照数据结构来组织 存储和管理数据的仓库 它是存储数据集合的容器 可以看做一个文件夹 里面存放着一系列有关联的数据表 数据表 Table 是一种结构化的数据 以列和行为单位来存储的一种结构
  • 基于TCP协议的select多路复用IO服务器编程

    一 初识TCP协议 TCP协议是面向链接 可靠的 基于字节流传输层协议 使用严格的应答机制来保证可靠性 1 建立连接时进行三次握手 2 断开连接时进行四次挥手 3 每次发送数据后 都必须要应答 4 会给每个数据包编号 应答时区分编号 TCP
  • Visual Studio 跨平台开发实战(5) - Xamarin Android 多页面应用程式开发

    前言 大部份的Android 都具有实体或虚拟的Back鍵 因此在处理多页面应用程式时 与先前所介绍的iOS Navigation controller 比较起来会简单许多 1 开启Visual Studio 并新增Android Appl
  • Python爬虫到底要学到什么程度才能接单赚钱呢

    Python爬虫可以做副业接单 一些个人或者企业想要爬一些资料数据之类的 可以给他们爬 费用几百上千不等 这又可以增加个人的收入来源 Python爬虫学到什么程度可以接单 你得要熟练使用Python爬虫 那么一些Python基础知识肯定需要
  • OpenGL计算着色器实现光线追踪——以球体跟踪为例

    OpenGL计算着色器实现光线追踪 以球体跟踪为例 光线追踪是渲染领域中的一种技术 通过在场景中发射光线并迭代计算来确定每个像素的颜色值 这种技术可以用于生成真实感和高度逼真的渲染图像 而在OpenGL中 我们可以利用计算着色器实现光线追踪
  • Qt应用开发(基础篇)——工具按钮类 QToolButton

    一 前言 QToolButton类继承于QAbstractButton 该部件为命令或选项提供了一个快速访问按钮 通常用于QToolBar中 按钮基类 QAbstractButton QToolButton是一个特殊的按钮 一般显示文本 只
  • 机器学习中的高斯分布

    文章目录 一 高斯分布的概率密度函数 二 一元高斯分布的极大似然估计 2 1 M L E
  • box2d 服务器性能,Box2d三种施加力的方法

    package import Box2D Collision Shapes b2PolygonShape import Box2D Common Math b2Vec2 import Box2D Dynamics Joints b2Revo
  • 2023中国新型灵活就业报告

    导读 9月12日 暨南大学经济与社会研究院和智联招聘联合发布 2023中国新型灵活就业报告 据了解 本报告中新型灵活就业职位具体包括八类工种 平台电商 生活配送 生活服务 平台微商 知识服务 自媒体 平台直播 共享出行司机 八类工种中生活配
  • 测试边界值(上点、内点、离点)

    测试边界值 上点 内点 离点 上点 就是指得边界上得点 开区间的话 上点就是在域外 闭区间得话 上点就是在域内 离点 指得就是离上点最近得点 如果是开区间 那么离点就在域内 如果是闭区间 那么离点就在域外 内点 域内得任意点都是内点 实例
  • scala学习系列(四) Scala关键字(持续更新)

    Scala有39个关键字 package import class object 伴生对象关键字 trait extends with type for private protected abstract sealed final imp
  • [Unity]环形进度条(Progress)/拖拽条(Slider)制作

    先上效果图 上图演示效果可用于圆形进度条的加载 或者用于拖拽验证码的实现 原理相同 以下所有算法获得的坐标均是在fillorign为top时的公式 拖拽物体的位置 通过点击拖拽获取当前Rect下本地坐标 然后将这个坐标进行标准化 norma
  • C++一行输入多个整数,每个整数用空格隔开,回车结束输入

    C 一行输入多个整数 每个整数用空格隔开 回车结束输入 include
  • 求生之路2社区服务器sourcemod安装配置搭建教程centos

    求生之路2社区服务器sourcemod安装配置搭建教程centos 大家好我是艾西 通过上文我们已经成功搭建了求生之路2的服务端 但是这个服务端是纯净的服务端 就是那种最纯粹的原版 如果想要实现插件 sm开头的命令等功能 需要安装这个sou
  • QZXing识别二维码

    下载QZXing这个识别二维码库 在github上下载qzxing https github com zxing zxing中的QZXing 新建qt工程 在pro文件中加入include QZXing sourceV2 4 QZXing
  • C++ 命名返回值优化(NRVO)

    命名的返回值优化 NRVO 这优化了冗余拷贝构造函数和析构函数调用 从而提高了总体性能 值得注意的是 这可能导致优化和非优化程序之间的不同行为 下面是代码段1中的一个简单示例 以说明优化及其实现方式 A MyMethod B var A r
  • 自动化运维:Ansible之playbook基于ROLES部署LNMP平台

    目录 一 理论 1 playbook剧本 2 ROLES角色 3 关系 4 Roles模块搭建LNMP架构 二 实验 1 Roles模块搭建LNMP架构 三 问题 1 剧本启动php报错语法问题 2 剧本启动mysql报错语法问题 3 剧本
  • Python编程:从入门到实践关于pi,百万位圆周率,pi_million_digits.txt,分享给大家

    blog github hexo的blog链接 github 我的github传送 CSDN 我的CSDN博客 学习python中需要一个百万圆周率的txt文件 但是按书上的链接又打不开 百度找了很久才找到 分享一下 以下是前500位 3
  • Sqlserver内存管理:限制最大占用内存

    一 Sqlserver对系统内存的管理原则是 按需分配 且贪婪 用完不还 它不会自动释放内存 因此执行结果集大的sql语句时 数据取出后 会一直占用内存 直到占满机器内存 并不会撑满 还是有个最大限制 比机器内存稍小 在重启服务前 sqls