当前位置:首页 » 编程语言 » sql回收内存

sql回收内存

发布时间: 2024-12-21 11:08:21

① 如何解决sqlServer占内存过多的问题

我们需要准备的材料分别是:电脑。

1、在我的电脑中,搜索访问sql占用内存,在右侧的管理服务器中选择重新启动,重启一下IIS。

② SQL Server占用内存过高,什么原因导致的,用什么方法可以解决

SQL Server运行越久,占用内存会越来越大。因为sql server本身内存回收机制做的不好,这是微软系列的服务器&数据库问题的通病。

解决SQL Server占用内存过高的方法:

1.定期重启SQL Server 2008 R2数据库服务即可。

拓展资料

SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。

Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

网络Microsoft SQL Server

③ 怎样解决SQL Server内存不断增加问题

为此,数据库引擎获取尽可能多的可用内存,同时保留足够的可用内存以防操作系统交换内存。 SQL Server 实例在启动时通常获取8到12MB的内存以完成初始化过程。当实例完成初始化后,就不会再获取更多的内存,直到用户连接到该实例并开始产生工作负荷。这时,该实例根据需要不停地获取内存以支持工作负荷。随着更多的用户连接并运行查询,SQL Server 将获取支持需求所需的额外内存。该实例将继续获取内存直到达到自身的内存分配目标,并且直到达到该目标的下限才会释放任何内存。 为了在不产生多余换页 I/O 的情况下获取尽可能多的内存,SQL Server 的每个实例都配置一个内存获取目标,直到电脑的可用物理内存在4MB到10MB的范围内。之所以选择该范围是因为测试表明 Windows NT 和 Windows 2000 都有最小内存交换,直到内存分配等于可用物理内存减去4MB。工作负荷处理任务重的 SQL Server 实例保留的可用物理内存为范围的较低端 (4MB);工作负荷处理任务轻的实例保留的可用物理内存为范围的较高端 (10MB)。 SQL Server 实例的目标随工作负荷的改变而变化。当更多的用户连接并产生更多的工作时,该实例倾向于获取更多的内存以使可用的内存保持在4MB的限制以下。当工作负荷减轻时,该实例将其目标调整为 10MB的可用空间,并释放内存给操作系统。将可用空间量保持在10MB和4MB之间可防止 Windows NT 或 Windows 2000 过多执行换页操作,同时使 SQL Server 得以获得尽可能最大的高速缓冲存储器而不至引起额外的交换。 实例的目标内存配置和数据库缓冲池的页相对于可用池大小的需求有关。在任何实时点,缓冲区页的总需求取决于满足任何当前执行的查询所需的数据页数。假如相对于高速缓冲存储器内的页数,数据页的需求很大,则当前在缓冲区内的每一页很可能在相对较短的时间内由新页替换。这可由缓冲区管理器对象的页生命期性能计数器来度量。对于相对较小的缓冲区有较高需求的情况将生成短生命期,而纯粹的影响就是使 I/O 增加,因为在页可由多个逻辑读取引用之前往往要被重写。为减轻这个问题,数据库引擎能够获取更多的内存以增加高速缓冲存储器的大小。当页生命期长时,数据库引擎将可用内存定位于目标的高端 (10 MB);而当页生命期短时,数据库引擎定位于目标范围的低端 (4MB)。 随着其他应用程式在运行 SQL Server 实例的电脑上启动,他们消耗内存致使可用物理内存量降到 SQL Server 的目标以下。SQL Server 实例于是从其地址空间释放足够内存,以使可用内存量回到 SQL Server 的目标。假如有其他应用程式停止运行而使可用内存增多,SQL Server 实例将增加其内存分配大小。SQL Server 能够每秒释放并获取几MB字节的内存,这使他得以根据内存分配变化作出快速调整。 您能够通过配置允许sql server能够使用的最大内存来做限制: 最小和最大服务器内存的影响 min server memory 和 max server memory 配置选项建立由 SQL Server 数据库引擎使用的内存量的上限和下限。数据库引擎并不立即获取 min server memory 中指定的内存量。数据库引擎启动时只使用初始化所需的内存。随着数据库引擎工作负荷的增加,他将继续获取支持工作负荷所需的内存。数据库引擎直到到达 min server memory 中指定的内存量才会释放任何所需的内存。一旦到达 min server memory,数据库引擎将使用标准算法(使操作系统的可用内存保持在 4MB到 10MB之间)获取和释放所需内存。唯一的区别是数据库引擎从不将内存分配降到 min server memory 所指定的水平下,也从不获取超过max server memory 所指定水平的内存。 数据库引擎获取的内存量完全取决于放置在实例上的工作负荷。不处理很多请求的 SQL Server 实例可能永远达不到 min server memory。 假如为 min server memory 和 max server memory 指定相同的值,则一旦分配给数据库引擎的内存达到该值,数据库引擎将停止动态释放和获取内存。 假如在运行 SQL Server 实例的电脑上频繁启动或停止其他应用程式,启动这些应用程式所需的时间可能会因 SQL Server 实例分配和释放内存而延长。另外,假如 SQL Server 是几个在一台电脑上运行的服务器应用程式中的一个,系统管理员可能需要控制分配给 SQL Server 的内存量。

④ 如何释放Sqlserver所占用的内存

sqlserver内存占用过多,如何解决?
sqlserver内存占用过多,如何解决?
如果你只是开发用,要想让sqlserver释放内存,重启sqlserver的服务就行了。
可以在SQLServer属性(内存选项卡)中找到配置使用内存的地方,或者也可以使用sp_configure来完成。如果没有其它应用程序,那么就不要限制MSSQL对内存的使用。
注意:清除了缓存,不会释放SQLServer所占用的内存,所以需要通过修改SQLServer内存或重启SQLServer服务器来释放内存。
SQLServer占用内存过高的原因是SQLServer本身内存回收机制做的不好。SQLServer运行越久,占用内存会越来越大。解决方法:在程序里面启动SQLServer2008,系统登录,右键点击服务名,选择“属性”。
服务器内存占用过高的解决方法:1,首先通过任务管理器进行进程排序,查找占用内存较大的程序进程。
如何释放Sqlserver所占用的内存?
如何释放Sqlserver所占用的内存?
1、如果你只是开发用,要想让sqlserver释放内存,重启sqlserver的服务就行了。
2、数据缓存:执行个查询语句,SqlServer会将相关的数据页(SqlServer操作的数据都是以页为单位的)加载到内存中来,下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。
3、可以在SQLServer属性(内存选项卡)中找到配置使用内存的地方,或者也可以使用sp_configure来完成。如果没有其它应用程序,那么就不要限制MSSQL对内存的使用。
4、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid在命令提示符下运行iisapp-a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。
5、打开SQL企业管理器,在运行于本地机器的服务上点右键--》属性--》选择内存就可以配置最大内存和最小内存了。把最大内存改小,并选择配置值,最小内存建议为1M。(不推荐为0)。
6、此命令只会让SQLServer不会继续占领新的内存,定期执行一下还可以。关键是还要释放一下内存。
如何解决SQLServer占内存过多的问题
如何解决SQLServer占内存过多的问题
1、如果你只是开发用,要想让sqlserver释放内存,重启sqlserver的服务就行了。
2、可以在SQLServer属性(内存选项卡)中找到配置使用内存的地方,或者也可以使用sp_configure来完成。如果没有其它应用程序,那么就不要限制MSSQL对内存的使用。
3、注意:清除了缓存,不会释放SQLServer所占用的内存,所以需要通过修改SQLServer内存或重启SQLServer服务器来释放内存。
4、SQLServer占用内存过高的原因是SQLServer本身内存回收机制做的不好。SQLServer运行越久,占用内存会越来越大。解决方法:在程序里面启动SQLServer2008,系统登录,右键点击服务名,选择“属性”。
5、服务器内存占用过高的解决方法:1,首先通过任务管理器进行进程排序,查找占用内存较大的程序进程。
sqlservr.exe占用的内存如何释放!
sqlservr.exe占用的内存如何释放!
在程序里面启动SQLServer2008,系统登录,右键点击服务名,选择“属性”。在弹出的窗体里面,选择内存,在此红色框内就可以看到最大内存默认设置,此时可以根据自己实际需求进行估算后,进行设置,设置完成后保存关闭。
如果你只是开发用,要想让sqlserver释放内存,重启sqlserver的服务就行了。
解决SQLServer占用内存过高的方法:定期重启SQLServer2008R2数据库服务即可。
不想让sqlservr.exe随机启动,占了好大的内存,那么怎么来禁止它随机启动呢。第一种如果跟我的情况是一样。打开SQL选中SQLServer,右键,属性。选择服务。把启动模式改成手动或者禁止就可以了。
因此,报告的sqlservr.exe所占用的内存量并不正确。若要获得正确的SQLServer内存使用情况,可使用总的服务器内存(KB)性能计数器(该计数器可通过系统监视器激活),或从sysperfinfo中选择内存使用。
在应用程序启动和SQLServer释放内存之间将有一个较短的时间延迟,使用maxservermemory可以避免该延迟,从而可以提高其它应用程序的性能。
解决SQLServer数据库占用内存过多的问题
解决SQLServer数据库占用内存过多的问题
1、如果你只是开发用,要想让sqlserver释放内存,重启sqlserver的服务就行了。
2、可以在SQLServer属性(内存选项卡)中找到配置使用内存的地方,或者也可以使用sp_configure来完成。如果没有其它应用程序,那么就不要限制MSSQL对内存的使用。
3、数据缓存:执行个查询语句,SqlServer会将相关的数据页(SqlServer操作的数据都是以页为单位的)加载到内存中来,下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。

⑤ SQL服务器内存怎么动态分配

SQL服务器内存有两种基本管理方法:动态分配和静态分配

控制程序可使用的内存数量。动态分配允许管理员声明一块内存的大小;考虑到它的实际使用,SQL服务器可以分配给其需要占用的内存的最大值,并且(理论上)在没有使用内存的情况下将其释放。静态分配则是创建一块固定的内存空间,提供给SQL Server使用——不再进行分配。

在默认情况下,SQL Server被设置成动态分配,分配给其正在运行的计算机内所有可用的物理内存。许多管理员注意到SQL Server内存随时间的流逝被逐渐消耗殆尽时,其原因很可能是故障或是内存漏洞,但这个程序正是被设计成这样的。SQL Server就是要在任何可能的情况下在电脑中运行,并因此为达到其最佳性能而使用所有可用的内存。如果SQL Server在独立的机器中运行,那么就让它分配和释放其需要的内存吧。

在一个小型商业服务器机器中,SQL可能与其他程序,如IIS,同时运行,管理员或许尝试着进行设置,使SQL Server运行在一块固定大小的内存,目的是控制其不会占用用于共享的内存。但这并不一定能如愿以偿。一方面,将内存的最高限度设置得太低,并且没有分配给SQL服务器足够的可用内存来用作类似事务日志或查询执行的缓存,所有这些都很难办到。使SQL服务器得到执行操作所需内存的惟一方法就是换出其他的页面,这是个缓慢的过程。

有许多方法可以计算出最好的内存分配。如果你有可预知的用户负载,依照用户所需的最大数目分配给他们。微软推荐至少用4 MB用作动态的最大空间,这已经成为一个可能的规则。如果你的用户负载变化范围很大——如以下情况,当你通过IIS 的前端连接到公共的因特网来支持你的数据库服务的时候——实时的统计数据将会比仅凭猜测所作的工作帮助更大。在高峰期,把SQL Server的高速缓存命中率和每秒缺页率等性能数字搜集起来。如果这些数据表明SQL Server正在做大量的交换,那么增加最大内存空间直到交换逐渐减少。每秒一次或更多次的交换是有坏处的。

另一种选择是使“为SQL Server预留物理内存”的选项可用,这可以防止SQL Server把已经分配给它的内存换出,即使当其他应用程序能够使用它时。这可以叫做是一把双刃剑:它既可以相当大程度的提高性能,也可能带来更大的性能损害。在有许多RAM 可以共享的(1 GB 或更多)的系统中,这是值得一试的,但是当有其他关键的进程可能突然需要大量的内存时,这种办法是不应该使用的。(并且如果需要的话,SQL Server可能会被迫放弃一些它自己的内存)。如果SQL Server是在独立的机器上运行,用这种办法最佳化性能则是值得的。

⑥ sql吃内存疑问

使用MSSQL的网管朋友都会被MSSQL的吃内存能力所佩服得五体投地,一个小小的网站,运行若干天之后,MSSQL就会把服务器上所有的内存都吃光,此时你不得不重新启动一下服务器或MSSQL来释放内存,有人认为是MSSQL有内存泄露问题,其实不然,微软给我们了明确说明:

Quote:
概要
在您启动 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 Configuration Settings(确定正确的 SQL Server 配置设置)
请注意,服务器内存最大值选项只限制 SQL Server 缓冲池的大小。服务器内存最大值选项不限制剩余的未保留内存区域,SQL Server 准备将该区域分配给其他组件,例如扩展存储过程、COM 对象、以及非共享 DLL、EXE 和 MAPI 组件。由于前面的分配,SQL Server 专用字节超过服务器内存最大值配置是很正常的。有关此未保留内存区域中分配的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
316749 PRB:在使用大量数据库时可能没有足够的虚拟内存
参考
SQL Server 联机图书;主题:”服务器内存最小值和最大值的影响”;”内存体系结构”;”服务器内存选项”;”SQL Server 内存池”

热点内容
服饰直播脚本 发布:2024-12-21 13:21:10 浏览:864
android界面设计软件 发布:2024-12-21 13:21:10 浏览:439
人命价算法 发布:2024-12-21 13:21:07 浏览:596
android全局监听 发布:2024-12-21 13:11:02 浏览:817
把内网映射到外网访问 发布:2024-12-21 13:06:51 浏览:233
铁桶王国宝箱密码是什么 发布:2024-12-21 13:01:55 浏览:985
asset文件夹 发布:2024-12-21 13:01:47 浏览:446
社保卡取款密码是什么 发布:2024-12-21 13:00:20 浏览:921
差流算法 发布:2024-12-21 12:43:15 浏览:331
用电脑怎么查看wifi密码 发布:2024-12-21 12:41:39 浏览:798