Ⅰ 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数据库服务器,内存占用过大怎么办
SqlServer系统内存管理在没有配置内存最大值,很多时候我们会发现运行SqlServer的系统内存往往居高不下。这是由于他对于内存使用的策略是有多少闲置的内存就占用多少,直到内存使用虑达到系统峰值时(预留内存根据系统默认预留使用为准,至少4M),才会清除一些缓存释放少量的内存为新的缓存腾出空间。
这些内存一般都是SqlServer运行时候用作缓存的,例如你运行一个select语句,执行个存储过程,调用函数;
1.数据缓存:执行个查询语句,SqlServer会将相关的数据页(SqlServer操作的数据都是以页为单位的)加载到内存中来,下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。
2.执行命令缓存:在执行存储过程,自定函数时,SqlServer需要先二进制编译再运行,编译后的结果也会缓存起来,再次调用时就无需再次编译。
在我们执行完相应的查询语句,或存储过程,如果我们不在需要这些缓存,我可以将它清除,DBCC管理命令缓存清除如下:
--清除存储过程缓存
DBCCFREEPROCCACHE
--注:方便记住关键字FREEPROCCACHE可以拆解成FREE(割舍,清除)PROC(存储过程关键字简写),CACHE(缓存)
--清除会话缓存
DBCCFREESESSIONCACHE
--注:FREE(割舍,清除)SESSION(会话)CACHE(缓存)
--清除系统缓存
DBCCFREESYSTEMCACHE('All')
--注:FREESYSTEMCACHE
--清除所有缓存
DBCCDROPCLEANBUFFERS
--注:DROPCLEANBUFFERS
Ⅲ SQL占用服务器内存太多求助!
1. 60个DB本身不是瓶颈; 如果某些数据库平时用不上也可以将它们分离出来, 即便不分离, 若长期没有操作也不会占用服务器内存资源和CPU资源
2. 32G内存占满不是太大的问题. SQL将数据尽可能地加载到内存中可以加快查询的速度, 若想限制SQL的内存占用量, 要在SQLServer上进行配置,限定内存使用上限
3. 要改善查询速度慢可能还得从应用方面入手
Ⅳ 怎么处理SQL Server数据库占用过多内存
可以设定SQL Server的,内存占用。
具体的参看:http://jingyan..com/article/624e74594ad38434e9ba5a4b.html
提示的是:
1、在服务器上,合理的,较多的内存占用可以加快SQL的服务能力。
2、如个人电脑上测试使用SQL Server,不用时,可以去控制面版中的服务中停止相关的服务,并设定为不自动起动,可以最大的减小SQL Server对电脑的资源占用。
Ⅳ 为什么读取SQL的数据库会占用内存那么大
因为SQL使用了缓存技术,所以在使用一段时间以后内存占用会越来越多。
打开企业管理器,在你的SQL服务器上点右键,查看属性。
在“内存”项中把内存的“最大值”改小一点,不要超过你的内存的一半,或者选中“使用固定的内存大小”,然后将值设定为你内存的一半也可以。
Ⅵ 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 内存池”
Ⅶ SQL Server最大内存占用是多少求答案
较高的 2 GB 地址由系统保留使用。Windows NT Server 企业版为每个 Microsoft Win3203 应用程序提供 4 GB 的虚拟地址空间,其中较低的 3 GB 地址空间是每个进程专用的,并可由应用程序使用。较高的 1 GB 地址由系统保留使用。
4-GB 的地址空间由 Windows NT V虚拟内存管理器(VMM)映射到可用的物理内存空间。取决于硬件平台的支持,可用的物理内存可以高达 4 GB。
Win32 应用程序(如 SQL Server)只能识别虚拟(或称逻辑)地址,而不是物理地址。在给定的某一时刻一个应用程序使用多少物理内存由可用的物理内存和 VMM所决定。应用程序不能直接控制物理内存。
象 Windows NT 4.0 或 Windows 2000 这样的虚拟地址系统允许过度提交物理内存,这使虚拟内存和物理内存的比率大于 1:1。因此,较大的程序可以运行在具有不同物理内存配置的计算机上。然而应用比组合平均工作集大得多的虚拟内存可能导致较差的性能。
SQL Server 可以将内存锁定为工作集。因为内存被锁定了,当运行其它应用程序时可能出现内存不足的错误。如果出现内存不足的错误,则可能是分配给 SQL Server 的内存太多。set working set size选项(通过 sp_configure 或 SQL Server 企业管理器设置) 可以使锁定内存为工作集功能失效。默认情况下,set working set size 选项处于禁用状态。
手工配置给 SQL Server 多于物理内存数量的虚拟内存会导致性能较低。而且,必须考虑 Windows NT 4.0 或 Windows 2000 操作系统的内存需求(大约 12 MB,因应用程序的开销而略有不同)。当 SQL Server 的配置参数上调时,系统的开销可能也会增长,因为 Windows NT 4.0 或 Windows 2000 需要更多的常驻内存来支持附加的线程、页表等。允许 SQL Server to 动态使用内存可以避免内存相关的性能问题
Ⅷ 一个SQL数据库后台运行闲置会占用多少系统资源比如
所谓的资源,最主要的是cpu和内存,闲置的时候当然cpu是不会占用的,但内存数据库引擎有100多mb,如果你开启了分析服务,报表服务或通知服务等,它们每一种会占用50M左右的内存,
正如你所说的,sql都是以系统服务的方式运行,在开机的时候它们会和操作系统一样自动加载,所以关掉不用的是很有必要的,你可以在开始-程序-sql server 2005-配置工具-sql configure management中查看哪些服务是打开的,像分析服务,报表服务,通知服务一般你这种情况是用不到的,你可以把它们设为手动开启。
cpu的使用的话你直接打开windows任务管理器查看一下cpu的使用率就清楚了,
Ⅸ sql server 内存使用不高
登陆SQL Server。
通过Microsoft SQL Server Management Studio连接登陆SQL Server服务器。
登陆成功后,选中服务器右键属性查看服务器属性,选中内存页面,可以看到最大内存大小设置是3000M。
6
总结操作步骤:
1. 登陆SQL Server。
2. 登陆成功后,选中服务器右键属性查看服务器属性,选中内存页面,可以看到最大内存大小设置是3000M。
3. 通过资源管理器可以看到 SQL server 进程使用的内存差不多是3000M。
4. 通过服务器属性中的内存页面,把最大内存设为1024M点确认后,等一会,再通过资源管理器查看SQL server进程使用的内存会降1024M左右。
5. 通过服务器属性页面,把最大服务器内存设为合理的大小30000M。
谢谢阅读,希望带给你帮助。