欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【改善SQL Server数据库的内存管理方法】,下面是详细的分享!
改善SQL Server数据库的内存管理方法
最近,为了能在数据库服务器中运行其他应用程序,在保持数据库操作系统版本不变的前提下对数据库服务器进行了软、硬件上的升级。在软件上,将操作系统从Windows 2000升级到Windows Server 2003;在硬件上,将服务器中的内存由原来的512MB增加到1GB(1024MB)。
在升级后的开始几个星期之内,服务器在使用中表现良好。但是不久后就发现,在服务器上同时运行的其他应用程序却出现了异常,不时地报出内存分配不足的警告。经过几次跟踪后发现,原来是SQL Server吞去了大部分内存所致。被SQL Server占用的内存由升级前的不到400MB一下子增加到现在的900MB,并且有不断增长的趋势。
通过查找原因才知道这是SQL Server 缓冲池的预期行为。默认情况下,在启动 SQL Server之后,SQL Server会根据操作系统报告的物理内存数来动态增大或缩小高速缓冲存储器的容量。只要可用物理内存大小保持在4MB到10MB之间,SQL Server 缓冲池就会继续增大(保留可用物理内存在4MB到10MB之间是为了避免操作系统因为缺少内存而频繁地换页)。如果物理可用内存变得较少的时候,则SQL Server会将一些内存释放给操作系统。
为了使运行在服务器上的应用程序都能达到比较满意的效果,同时也为了能给其他应用程序分配足够的内存,需要采取措施限制SQL Server 的内存使用量。我们可以通过设置SQL Server 数据库引擎使用的内存的上下限来达到此目的。其具体步骤是:
1.打开企业管理器,展开服务器组。
2.单击该服务器,点击鼠标右键,单击属性菜单。
3.在弹出的对话框中单击内存选项卡。
内存设置方法有两种:
1.设置min server memory和max server memory 在一个范围段内。
比如,我们将它设置成最小0MB,最大255MB。这种方法在为一台服务器中运行多个应用程序分配内存时非常有用。
2.设置 min server memory 和 max server memory 为同一数值。
比如,可以将它最大和最小值都设置成255MB。这样的设置方法与窗口中的另一个选项“使用固定的内存大小” 相一致。
虽然内存最小值和最大值设置是高级选项,但在设置完毕之后,最好还是先将SQL Server服务停止后再重新运行,以便SQL Server能更好地对内存进行合理安排。
以上所分享的是关于改善SQL Server数据库的内存管理方法,下面是编辑为你推荐的有价值的用户互动:
相关问题:如何解决SQL Server数据库占用内存的问题 详细??
答:经常看见有人问,MSSQL 占用了太多的内存,而且还不断的增长;或者说已经 最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得 你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给 清掉。所以一般我们在... >>详细
相关问题:求高手 在数据库服务器上 怎样对 sql server 2008 ...
答:执行任务吧! 求采纳 >>详细
相关问题:怎么样写SQL语句可以提高数据库的执行速度?应该注...
答:T-SQL脚本优化技巧: 1)对于SELECT/UPDATE语句必须显示的定义所有的列,避免使用星号。 2)在执行SELECT/INSERT/UPDATE/DELETE语句时,请考虑执行规划的重用,尽量考虑用SP-EXECUTESQL存储过程。 3)优先使用 SELECT...INTO,然后使用 INSERT...SE... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
