sqlserver内存释放
A. 如何解决sqlServer占内存过多的问题
我们需要准备的材料分别是:电脑。
1、在我的电脑中,搜索访问sql占用内存,在右侧的管理服务器中选择重新启动,重启一下IIS。
B. sqlserver 占用内存太高怎么解决
第一步:打开企业管理器双击进入要修改的MSSQL.
第二步:在左侧MSSQL上点击右键,选择属性,弹出SQL Server属性(配置)对话框(最好打上SQL SP4补丁)
第三步:点击内存选项卡. 在这里,你会看到MSSQL默认设置为使用最大内存,也就是你所有的内存,根据你的需要,设置它的最大值(一般为物理内存-128M)和最小值(一般为最大内存的1/4)吧.
第五步:设置完毕,重启MSSQL服务,配置即可生效!
C. SQL Server占用内存过高,什么原因导致的,用什么方法可以解决
经常使用MSSQL的朋友都会发现一个小小的网站在运行若干天后MSSQL就会把服务器上所有的内存都吃光,此时你不得不重新启动一下服务器或mssql来释放内存,有人认为是 MSSQL有内存泄露问题,其实不然,微软给我们了明确说明:在您启动SQL Server 之后,SQL Server内存使用量将会持续稳定上升,即使当服务器上活动很少时也不会下降。另外,任务管理器和性能监视器将显示计算机上可用的物理内存稳定下降,直到可用内存降到 4 至 10 MB 为止。
仅仅出现这种状态不表示内存泄漏。此行为是正常的,并且是 SQL Server 缓冲池的预期行为。
默认情况下,SQL Server 根据操作系统报告的物理内存加载动态增大和收缩其缓冲池(缓存)的大小。只要有足够的内存可用于防止内存页面交换(在 4 至 10 MB 之间),SQL Server缓冲池就会继续增大。像在与SQL Server 分配内存位于相同计算机上的其他进程一样,SQL Server 缓冲区管理器将在需要的时候释放内存。SQL Server每秒可以释放和获取几兆字节的内存,从而使它可以快速适应内存分配变化。
更多信息
您可以通过服务器内存最小值和服务器内存最大值配置选项设置 SQL Server数据库引擎使用的内存(缓冲池)量的上下限。在设置服务器内存最小值和服务器内存最大值选项之前,请查阅以下 Microsoft 知识库文章中标题为'内存'一节中的参考信息:319942 HOW TO:Determine Proper sql server(WINDOWS平台上强大的数据库平台) Configuration Settings(确定正确的 sql server(WINDOWS平台上强大的数据库平台) 配置设置)
请注意,服务器内存最大值选项只限制 SQL Server 缓冲池的大小。服务器内存最大值选项不限制剩余的未保留内存区域,sql server(WINDOWS平台上强大的数据库平台) 准备将该区域分配给其他组件,例如扩展存储过程、COM 对象、以及非共享 DLL、EXE 和 MAPI 组件。由于前面的分配SQL Server专用字节超过服务器内存最大值配置是很正常的。有关此未保留内存区域中分配的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:316749 PRB:在使用大量数据库时可能没有足够的虚拟内存
下面我们就来实战如何限制MSSQL内存使用:
第一步:打开企业管理器双击进入要修改的MSSQL.
第二步:在左侧MSSQL上点击右键,选择属性,弹出SQL Server属性(配置)对话框(最好打上SQL SP4补丁)
第三步:点击内存选项卡. 在这里,你会看到MSSQL默认设置为使用最大内存,也就是你所有的内存,根据你的需要,设置它的最大值(一般为物理内存-128M)和最小值(一般为最大内存的1/4)吧.
第五步:设置完毕,重启MSSQL服务,配置即可生效!
D. 如何优化ms server 2008 r2 的内存释放
SQL Server 2008 或者R2的默认内存分配是2147483647MB, 差不多算是无穷大,对于系统内存的管理策略是有多少占多少。SQLserver会把所有处理过的SQL操作缓存在内存里,这样就不用总去读硬盘了。但是如果长时间运行SQL Server, 系统内存被用的差不多,再开启其他程序就有可能会报内存不足。这时候就需要释放内存缓存啦。一般我用以下两种办法:
很简单,打开SQL Server configuration Manager,然后把SQL Server(MSSQLSERVER)重启一下,一般默认的instance 就是MSSQLServer,当然你如果装了其他的instance(实例)就选择相应的,例如MSSQLServer(SQLServLatin1), MSSQLServer(ARABIC)。
这种方法最简单有效,但是只能临时的清除SQLServer缓存所占的内存空间,时间长了SQLServer还会把内存占满。而且很重要的是这种方法不能在SQLserver有连接的情况下使用,那样会让正在使用SQLServer的用户暂时无法连接SQLServer,甚至导致程序处错误。而你作为管理员就……
第二种方法比较复杂,我也不是SQLServer高手,只是从网上学习得来的一些query:
DBCC FREEPROCCACHE
DBCC FREESESSIONCACHE
DBCC FREESYSTEMCACHE('All')
DBCC DROPCLEANBUFFERS
以上一段一般能释放缓存,(注意引号有的时候因为word文档里打不出英文的引号,最好拷到记事本里编辑一下)但是有的时候不是很管用。因为SQLserver不会因为Cache(缓存)释放了而释放内存,占了茅坑不一定XX。此命令只会让SQLServer不会继续占领新的内存,定期执行一下还可以。关键是还要释放一下内存。
通过以下Query 可以看出当前服务器所占内存情况
SELECT * FROM sys.dm_os_performance_counters
WHERE counter_name IN ('Target Server Memory (KB)','Total Server Memory (KB)')
Target Server Memory(KB)和 Total Server Memory(KB)字面意思所得就是目标和当前SQL Server所占的内存大小。
EXEC sp_configure 'show advanced options', 1
GO
EXEC sp_configure 'max server memory', 256
EXEC ('RECONFIGURE' )
WAITFOR DELAY '00:00:05'
EXEC sp_configure 'max server memory', 2147483647
EXEC ('RECONFIGURE' )
GO
EXEC sp_configure 'show advanced options', 0
GO
其实我用这几句也不是很奏效,时间一长还是可能会有内存不够的情况。
******
总的来说我的管理办法是:
装好了SQLServer之后立刻设置最大使用内存
EXEC sp_configure 'show advanced options', 1 -- 这句是打开advanced options
GO
EXEC sp_configure 'max server memory', 9216 -- 设置最大内存为9G,我们server 内存是16G的,留下7G足够了
EXEC ('RECONFIGURE' )
GO
EXEC sp_configure 'show advanced options', 0 --记得用完了把advanced options关掉
GO
E. sql 2008 R2 怎样 释放内存
请限制sql server 可使用的最大内存数
目前发现有部分专享自由型主机由于sqlserver数据库占用的内存过大,造成服务器可用内存资源过少,导致服务器运行缓慢甚至宕机。您可以通过以下方法限制sqlserver占用的最大内存,从而保证服务器有足够的内存可以使用:
1、登录服务器->打开企业管理器
2、打开SQL Server组
3、右键点击 (local)本地实例->选择“属性”
4、点击“内存”项,在其中“最大值”项中可以设定当前sqlserver可占用的最大内存
F. 如何降低SQL Server 2012内存使用率
这个问题我关注了半年多,好像没有什么好的办法,用一些内存整理工具可以将sqlserver占用的内存释放一些(比如优化大师里的内存整理)。
关键还得要在程序上下工夫,优化查询方法,降低访问数据库频率才是硬道理
G. 如何清除SQL SERVER缓存和释放内存
1.打开Sql
Server
Management(企业管理器);2.打开Sql
Server实例的属性面板;3.找到内存设置,改变其中的最大服务器内存使用即可
。
H. 在sql server 2000中进行内存的自动释放怎么实现拜托各位了 3Q
无论用JAVA还是VB还是什么其他语言,都是由程序代码实现的释放,不是在SQL
SERVER里可以进行设置进行智能释放的.比如C#中,就是你关闭了连接或者Dispose()之后都会释放内存,或者使用gc()自动回收.
I. sql数据库占用内存太大如何处理
sql server没有办法释放内存,内存都是系统自动管理的
除非你杀调哪些占用内存大的进程
sql 语句没写好,死锁...都会导致占用内存很大
select * from master..sysprocesses
kill spid --spid 就是上面查到的spid字段