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

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

1.使用SQL语句设置SQLserver内存分配:

--a.配置最小内存

--将最小内存设置为0MB

exec sp_configure N‘min server memory (MB) ‘,16

--b.配置最大内存

--将最大内存设置为256MB

exec sp_configure N‘max server memory (MB)‘,266

执行结果:

配置选项 ‘min server memory (MB)‘ 已从 14 更改为 16。请运行 RECONFIGURE 语句进行安装。
配置选项 ‘max server memory (MB)‘ 已从 444 更改为 266。请运行 RECONFIGURE 语句进行安装。

最后执行下面语句进行安装

reconfigure with override

执行结果:

命令已成功完成。

系统服务日志:

配置选项 ‘min server memory (MB)‘ 已从 14 更改为 16。请运行 RECONFIGURE 语句进行安装。

配置选项 ‘max server memory (MB)‘ 已从 444 更改为 266。请运行 RECONFIGURE 语句进行安装。

2.手动操作设置

右击本地服务器-->服务器属性-->内存 设置完,单击确定即可。

一般设置完后,最好将该SQL服务重启下。

时间: 2024-11-12 08:47:23

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

SQL Server ->> Memory Allocation Mechanism and Performance Analysis(内存分配机制与性能分析)之 -- Minimum server memory与Maximum server memory

Minimum server memory与Maximum server memory是SQL Server下配置实例级别最大和最小可用内存(注意不等于物理内存)的服务器配置选项.它们是管理SQL Server内存的途径之一. Minimum server memory与Maximum server memory Minimum server memory(MB): 最小服务器内存.一旦超过这个线就不会再把内存换回去.但是也不是说SQL Server一启动马上就申请这么多的内存. Maximum

SQL Server 2012实施与管理实战指南(笔记)——Ch5启动SQL Server服务和数据库

5.启动SQL Server服务和数据库 在数据库和服务启动过程中,经常会出现的问题: 1.SQL Server实例无法正常启动 2.系统数据库无法正常启动 3.网络配置失败 4.用户数据库无法启动 5.集群环境下SQL Server资源无法保持在线 目录 5.启动SQL Server服务和数据库... 1 5.1 SQL Server服务启动步骤... 1 5.1.1 从注册表中读取SQL Server启动信息... 1 5.1.2 检查硬件,配置内存和CPU.. 2 5.1.3 数据库启动.

SQL Server 服务开启、关闭等 及数据类型

一.SQL Server服务 在开始-运行中输入cmd  通过net stop mssqlserver         关闭数据库服务                                      net start mssqlserver        开启                                      net pause mssqlserver      暂停                                      net  cont

Sql Server服务远程过程调用失败

由于开发系统,需要vs版本统一,于是经过了昨天一整天艰苦卓绝的斗争,小编终于成功的写在了13版本的vs,重新装上了12版本的vs,本来想着,12版本的vs搭建成功了,就赶快搭建框架,然后敲例子,可是天意弄人,小编的数据库神奇般的打不开了,又经过半天的百度,问题答案渐渐浮出水面,接下来小编就简单的介绍一下如何解决Sql Server服务远程过程调用失败的问题,打开sql,连接上,出现一下问题: 第一种方法,如下所示 这个问题,小编肿么有种似曾相识的赶脚nie,原来早在2014年9月1号的时候,小编

XenDesktop 5 SQL Server Mirror事务日志比较大的原因分析

在实施XenDesktop5项目过程中,发现XenDesktop5版本的数据库镜像事务日志很大,在XenDesktop4和XenApp版本中不存在该问题:于是我根据该现象探究XenDesktop5及以上版本镜像数据库事务日志为何如此之大以及我们今后实施的过程中该如何来维护这么庞大的数据库事务日志. 在XenDesktop解决方案中,对数据的处理是由专门的数据库来进行数据存储处理的,而对于数据库的高可用,有3种方式: SQL Mirror Virtual Machine HA(VMware FT)

SogouCloud.exe进程导致SQL Server服务无法启动

早上打开笔记本想开启SQL Server服务时报错,于是根据提示查看windows日志: 依次点开报错发现第一条是1433端口被占用,于是找相关的进程: 于是杀掉此进程: taskkill /pid 6740 然后启动SQL Server服务成功.

启动SQL Server服务和数据库

在日常管理维护SQL Server的时候,我们需要注意很多地方,然后有时候做起事情来也不得章法,现在就基本的原理和常见问题的解决思路,在这跟大家分享一下.首先介绍一下SQL Server基本的运行原理.作为一个Windows服务,SQL Server的每个实例就是一个sqlserve.exe进程.这个进程启动后会读取SQL Server实例的启动配置,检测硬件,配置内存和CPU,初始化一些SQL Server系统配置,启动数据库,连接网络.然后数据库就算正常启动了,然后客户端可以正常访问了.这个

SQL Server ->> 与SQL Server服务配置相关的DMV

1) sys.dm_server_services这个DMV可以告诉我们与当前版本的SQL Server相关的服务的启动状态和最后一次启动的时间,诸如这样的信息. SELECT * FROM sys.dm_server_services 2)sys.dm_server_registry这个DMV可以告诉我们与当前SQL Server服务相关的配置,我们不必去打开SQL Server Configuration Mangement去查看也可以知道.而它其实读取的就是注册表的信息 SELECT *

慎重管理SQL Server服务的登录(启动)账户和密码

今天是大年初三,先跟大家拜个年,祝大家新年快乐.今天处理了一个alwaysOn问题--辅助副本因为磁盘空间不足一直显示[未同步--可疑],在日志中可以看到数据库处于挂起状态,与主副本失去同步.原以为只需把辅助副本的磁盘做个清理,腾出一点空间,然后重启SQL Server服务就好了(重启让数据库从挂起状态进入到联机状态,然后让alwaysOn重新开始同步).但,重启失败!!!在操作系统日志中看到SQL Server启动失败的原因是:(启动账户的)用户名和密码错误!!! 当初做alwaysOn的时候