浅谈优化SQLServer服务器内存配置

内存是影响Microsoft SQLServer系统性能的重要因素。
安装SQLServer数据库时,将为可用内存的可用内存的默认组合创建1 6 MB,用于包含3 2 MB实际内存的机器,以及可用于包含1 6 MB实际存储器的机器的4 MB内存的默认形成。
安装Microsoft SQLServer数据库后,应设置内存选项(内存),并且该构图的值为2 GB。
为了确定SQLServer系统最合适的内存要求,您可以将Windows NT 4 .0的所需内存以及总体实际内存的其他一些内存要求放置,并做出全面的决定。
完美的位置是在不生成页面调度的情况下自定义SQLServer的最大可能内存。
1 基于实际内存的SQLServer可用内存计划。
在大多数生产环境中,服务器提供的实际内存范围从6 4 MB到1 2 8 MB,有时为2 5 6 MB。
只要组成是适当的,它就可以完全满足SQLServer内存的需求。
下表是我推荐的计划,以自定义SQLServer内存以引用它。
SQLSERVER(单元:2 KBIET)值的实际内存8 MB4 MB2 04 8 1 6 MB8 MB4 09 6 3 2 MB1 6 ~1 8 MB8 1 9 2 ~9 2 1 6 4 8 MB2 8 3 4 MB1 4 MB1 4 3 3 6 1 08 mb5 1 2 00 ~ 5 5 2 9 6 2 5 6 MB2 1 6 ~ 2 2 6 MB1 1 05 9 2 ~ 1 1 5 7 1 2 5 1 2 mb4 6 4 ~ 4 7 2 MB2 3 7 5 6 8 ~ 2 4 1 6 6 4 the following method of setting up SQLSERVER (memory) (1 ) from Microsoft Start SQLENTERPRISEMANAGER in a group Ftsqlserver; (2 )从ServerManager窗口中选择“服务器”菜单选项; (3 )在“服务器”菜单中选择“配置”选项; (4 )在“ ServerConfiguration”对话框中选择“配置”选项卡,然后“配置”窗口显示“配置”选项菜单; (5 )确定“内存”并在当前““列”中填充新值;(6 )停止并重新启动SQLServer服务以使设置有效。
2 依靠地理性地扩展明显的内存,并增加SQLServer的可用内存。
当SQLServer真正需要扩展可用的内存时,当可用的内存足够的特定记忆是可以扩展的,并且在disk andk andk andk and seq and seq and seq and s seq and s seq and seq and s seq and s seq and s seq and s seq and s y gress seq and s y gress seq and s seq逐渐相应。
系统首先扩展服务器的明显内存,然后指示上述时间表以增加SQLSERVER的可用内存,以确定内存是否会全面放大,并根据系统加载位置来改进培训。
显着改善了系统的运行性能,并且因为tempdb完成了每次重新启动服务器时,都会重建它,即使存在异常停止,例如停电的故障,也会更安全。
要在RAM中创建tempdb,您可以使用sp_configure将其设置。
有关详细信息,请参阅相关信息。
由于tempdbinram使用的内存由系统与内存主体分开分配,因此内存集与SQLServer内存选项分开。
使用tempdbinram的使用将减少整个系统可用的内存,并且必须根据SQLServer和Server的操作形成,否则可能是反应的,并且会影响系统的性能。
此外,即使不使用tempdbinram,TEMPDB数据库空间也可以正确提高数据库的工作速度。
4 注释(1 )建议不要在生产环境中设置SQLServer小于3 2 MB的内存,并尽量不要在数据库服务器上运行其他应用程序; (2 )扩展虚拟内存并增加SQLServer的可用内存,并应考虑使用实际内存和磁盘空间的许可; (3 )当可能的情况下,应保留对系统的一些额外内存。
这样,当在不更改SQLSERVER内存的组成的情况下打开服务服务器或添加过程的服务时,运行NT服务器速度(变得非常慢)的NT服务器将不会受到影响。
通常认为最低为2 MB和2 0MB。
5 使用内存组成来解决统计服务器的问题。
使用统计服务器单元后,操作速度很慢。
在检查原因后,发现SQLServer中的内存选项(内存)只是安装的默认值-1 6 MB(服务器包含1 2 8 MB实际内存)。
在1 00MB上设置内存值时,它意外更改为1 000 MB,使SQLServer服务无法启动,并且无法打开统计数据库,因此它不能再次输入SQLenterPR。
ISMONAGER修改后的内存设置。
由于最近没有支持工作数据,因此除非它是,否则我无法重新安装SQLServer数据库。
我试图通过订单的订单重新启动SQLServer服务,但它们都没有起作用,我遇到了麻烦。
经过仔细的分析,我们建议,由于SQLServer的值远大于实际内存,因此SQLServer服务无法启动,那么为什么不扩展虚拟内存呢?尝试将设备的虚拟内存扩展到1 000 MB并重新启动后,SQLServer数据库成功启动了,并解决了问题。
6 及时的摘要当前,大多数单元使用的Microsoft SQLServer数据库的实际内存超过6 4 MB。
例如,中国农业银行地区和市政分支机构的统计服务器配备了1 2 8 MB的身体记忆。
只要根据上述方法对NT和SQLServer的内存组成进行合理的计划和改进,以便可以尽可能地实现设置,应用程序系统将能够从设计功能中充分受益并满足工作需求。

sqlserver awe 是什么

SQLServer中的敬畏功能是由于具有4 GB的虚拟地址空间的3 2 位Windows用户进程。
其中,将2 GB给予​​中心状态,其余2 个GB给了用户状态。
这两个部分严格分开。
窗户不会放弃另一个空间,因为其中一个内存空间已经用尽。
由于大多数SQLServer指令都是在用户状态下执行的,也就是说,SQLServer内存主要使用用户状态中的资源。
目前的情况是,有2 GB的空间解决方案严重阻止SQLServer有效地将硬件资源使用到SQLServer,因此SQLServer引入了AweadDressWindowsingTensions。
这是该机制,允许3 2 位应用程序分配6 4 GB的物理内存和卡视图或Windows,或使用2 GB的虚拟地址空间。
恐惧的使用允许应用程序访问6 4 GB的物理内存!呢呢在SQL2 000业务版本中,业务版和SQL2 005 / 2 008 的标准版本支持此技术,您还可以利用该技术提供的优势以允许此功能的说明。
执行后,重新启动SQLServer服务。
1 execsys.sp_configure@configname ='Waweenabled',-varchar(3 5 )2 @ configvalue = 1 -int3 reconfigure4 goawe在特定的实现图中有几个点要注意:(1 )激活此功能的激活需要该功能的lockpagesInmormorory of sqlserver sqlserver sarter parter the windows parter of Windows starter of witch the windows starter parter in the windows starter。
没有这种授权,就无法成功激活恐惧。
SQLServer启动目前只能使用2 GB的地址空间。
因此,DBA必须确认成功激活的SQLServer errorlog中是否存在相关信息:serverAddresswindingesenstable tabsadddresswingextingsebustabled.tean Informationse.tean Informationse pesse pesse pesse pesse在应用程序的级别中有意识地使用,在Windows中未实现。
换句话说,当SQLServer应用于内存时,它将通过特殊的API调用应用。
如果SQLServer未调用此功能,则它也将适用于2 个普通2 GB的虚拟地址空间中的内存。
并非SQLServer中的所有存储器应用都会称呼敬畏技术。
仅首先保留,然后进行内存调用,SQLServer才会使用恐惧来允许他们使用扩展的内存。
在其他方面要求的内存只能使用2 个普通GB的地址空间。
因此,恐惧不能被称为SQLServer解决空间不足的最终解决方案。
使用6 4 -BIT服务器,虚拟地址空间可以达到8 TB,这比当今最独特的服务器的物理内存优于。
与3 2 位相比,在6 4 位工作中运行的SQLServer通常在性能方面有显着提高。
最后,附加了每个版本的Windows上支持的最大内存数量。
虚拟地址空间的配置应用程序大小。
物理内存的最大数量支持AWE/LOCKEDPAGESUPPORT3 2 -BIT SQLSERVER2 GB6 4 GBYS3 2 -BIT SQLSERVER+/3 GBBOOT.INI 3 GB1 6 GBYES3 2 -BIT SQLSERVER SQLSERVER SQLSERVER SQLSERVER在X6 4 -BIT操作系统中(WOW)4 GB6 4 GBYESSYSTEM 2 GB2 GBNO6 4 x6 4 位中的BITS SQLSERVER应用程序8 TB2 TBYES6 4 BITS APPLACT SQLSERVER在IA6 4 BITS 7 TB2 TBYES操作系统中

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

当系统本身可以使用内存时,SQLServer会根据操作系统报告的物理内存负载动态增加并缩小其缓冲池(缓存)的大小。
只要有足够的内存来防止内存页面交换(在4 到1 0MB之间),SQLServer缓冲池就会继续增长。
如果要将SQL存储器控制在一定量中,则可以更改配置信息。
1 打开企业管理器并扩展服务器组。
2 单击服务器,右键单击,然后单击“属性”菜单。
3 单击弹出对话框中的“内存”选项卡。
您可以看到SQLServer已将动态配置的内存的最大值更改为物理内存的最大值。
解决SQLServer耗尽内存的问题。
如果SQLServer服务导致内存扩展并最终导致系统崩溃,请按照以下方法解决。
原理:SQLServer2 000引入的动态内存分配机制通常无法很好地回收存储器。
如果计算机未关闭,则内存可能会用完。
您可以选择每周关闭一次以避免它,也可以使用以下方法抑制记忆增长。
1 在服务器上启动 - Microsoftsqlserver -Enterprise Manager。
2 启动后,在右侧打开控制台树:控制台root Directory \ Microsoftsqlserver \ sqlserver group \(local)。
3 右键单击(本地)节点,然后选择“属性”菜单。
您可以看到SQLServer属性(配置)表格4 选择“内存”舌头标记以打开内存配置页面。
通常根据以下比率将最大内存限制为一定范围:a)如果仅用于数据库服务器,则是总存储器的8 0-9 0%,b)如果也是域服务器,通常是6 0-7 0%c),通常也是Web服务器,它也是Web服务器,建议使用6 0%5 在设置,然后重新启动,然后将其重新启动。
解决服务器的W3 WP.EXE进程的问题占用CPU,并且内存过多解决了过度CPU的问题:1 分别配置IIS中的每个网站以进行应用程序池配置。
也就是说,彼此之间没有影响。
2 设置应用程序池的CPU监视,不超过3 0%(一个程序池有2 0个电台),每分钟刷新,并在限制超过时关闭。
根据W3 WP:1 获得哪个应用程序池。
将显示PID字段添加到任务管理器。
您可以看到占据内存或CPU的过程PID2 ,并在命令提示符下运行IISAPP-A。
请注意,您第一次运行时,将有一个提示,没有JS支持,请单击“确定”。
然后再次运行。
这样,您可以看到与PID相对应的应用程序池。
(实际上,IISAPP是存储在C:\ Windows \ System3 2 目录中的VBS脚本,全名为iisapp.vbs。
IIS可以查看应用程序池的相应网站,这还可以。
进行上述内存或CPU限制,或检查程序是否有循环或其他问题。
为了解决过多的内存使用问题的问题,您可以进行以下配置:1 在IIS中使用单独的应用程序池配置每个网站。
也就是说,彼此之间没有影响。
2 设置应用程序池的回收时间,将默认设置删除为1 7 2 0,然后设置固定的时间回收(在以下时间的回收工作过程:00:01 06 :01 1 2 :01 )。
然后将内存设置为自动回收时,当内存占据超过1 9 2 M1 0的电台(例如1 9 2 M1 0站的一个程序池)。
3 设置性能中的最大CPU监视使用率。
3 0%的刷新率。
1 分钟操作:关闭1 要限制站点的CPU使用情况,必须将站点设置为独立的应用程序池。
共享的应用程序池不能限制一个站点。
IIS独立应用程序池需要独立的流程,并消耗大量的内存。
那里的独立池越多,W3 WP过程就越多。
对于每个站点需要独立应用程序池的服务器,在具有普通P4 3 .02 G内存的普通服务器上,建议不要超过5 0个站点,最好在3 0范围内,否则服务器压力将非常高。
在配置方面,我通常放置一个具有大量资源消耗的网站,通常,大约有5 个用于普通BBS或HTML生成系统的网站和池。
普通网站和一些公司网站共享一个池。
2 根据WLMMC的经验,如果服务器硬件允许,通常不必限制网站内存的使用,以确保网站运行并且不会有用户断开连接。
有必要将某个站点的最大虚拟内存限制为不小于6 4 m,否则可能会发生一些未知错误。
3 这些不是基本解决方案。
基本问题是网站计划存在问题。
为了解决基本问题,我们必须从程序开始。
根据本文开头提到的方法,找到特定的应用程序池,找到使用此应用程序池的网站,并解决网站程序中存在的问题,例如Dead Loop。
4 除了w3 wp.exe外,在调用大量查询操作的数据库时,它还将占用大量的CPU资源,这是不可避免的(数据库语句和结构优化不在本文的范围内)。
我个人认为,只要CPU长时间不占1 00%,大约有7 5 %的人通常是正常的。

sqlserver2008r2x64最大内存限制是否需要设定?设置多少为宜

默认值就足够了。
如果您的操作系统不想占用太多SQL Server,则将其设置为自动调用内存机制的内存的8 0%。
原始的纪念大小取决于系统尺寸。
最小值约为2 GB,最大值可占据系统内存的8 0%。

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

我们需要准备的材料是:计算机。
1 在我的计算机中,搜索和访问SQL以获取内存,选择在右侧管理服务器中重新启动并重新启动IIS。
2 .检查一下,SQL服务总是占据很多内存,并且内存的使用没有改变。
3 然后重新启动SQL服务。
4 然后重新启动SQL代理。
5 最后,如果您查看任务管理器,您会发现内存的使用已减少。