如何启用SQLSERVER2005服务器属性中的“使用AWE分配内存”

如何启用SQLSERVER2005服务器属性中的“使用AWE分配内存”,第1张

SQL Server 支持地址窗口化扩展插件 (AWE),从而允许在 32 位版本的 Microsoft Windows *** 作系统上使用超过 4 GB 的物理内存,最多可支持 64 GB 的物理内存。默认情况下,禁用 Windows 策略“锁定内存页”选项。对于 32 位 *** 作系统,在将 AWE 配置为用于 SQL Server 之前,必须授予“锁定内存页”权限,必须启用此权限才能配置地址窗口化扩展插件 (AWE)。此策略将确定哪些帐户可以使用进程将数据保留在物理内存中,从而阻止系统将数据分页到磁盘的虚拟内存中。在 32 位 *** 作系统中,如果在不使用 AWE 的情况下设置此权限会显著降低系统性能。
如何启用“锁定内存中的页”选项:
1在“开始”菜单上,单击“运行”。在“打开”框中,键入 gpeditmsc。
将打开“组策略”对话框。
2在“组策略”控制台上,展开“计算机配置”,再展开“Windows 设置”。
3展开“安全设置”,再展开“本地策略”。
4选择“用户权利指派”文件夹。
细节窗格中随即显示出策略。
5在该窗格中,双击“锁定内存中的页”。
6在“本地安全策略设置”对话框中,单击“添加”按钮。
7在“选择用户或组”对话框中,添加有权运行 sqlservrexe 的帐户。
若要使 32 位 *** 作系统支持 4 GB 以上的物理内存,则必须向 bootini 文件添加 /pae 参数并重新启动计算机。
使用如下语句启用AWE并配置实例所使用的缓冲池内存量:
sp_configure 'show advanced options', 1RECONFIGUREGOsp_configure 'awe enabled', 1RECONFIGUREGO sp_configure 'min server memory', 2048RECONFIGUREGOsp_configure 'max server memory', 4096RECONFIGUREGO 或在“服务器内存选项”下,选择“使用 AWE 分配内存”,并分配最小/最大服务器内存。
由于 *** 作系统上运行的 SQL Server 2005 不支持动态分配 AWE 映射内存,因此,强烈建议为每个实例都设置 max server memory 选项,且所有实例的 max server memory 值的总和应小于计算机的总物理内存。转载
使用 SQL Server 性能监视器 Total Server Memory (KB) 计数器可以确定在 AWE 模式下运行的 SQL Server 实例所分配的内存量,也可以从 sysperfinfo 中选择内存使用量来确定实例所分配的内存量。

服务器上简单回答:
只需设定上限。上限以安装的实际内存数减去必要的留置值即可。
比如我的服务器,实际安装内存64G,设定不超过58G给SQL Server,6G留给别的应用。(个人做法仅供参考,服务器上的情况下同,需要经验)
相关知识:
1、具体的应设多大,应该看你的服务器上运行的数据库的情况,一般设定只上限,不设定下限。所以,当SQL Server不需要那么多内存时,它不会去占用。
2、如果不当设定,比如上限值太小,SQL Server就不得不频繁地去硬盘中交换数据,会降底数据库的速度与效率。而留出的内存太小,别的必要的应用得不到足够的内存,有可能影响别的应用,甚至会出现严重的错误。
3、如果是个人台式机上,SQL Server用于测试和学习,情况也类似,但建议不用它时,去控制面版中的服务中,关闭SQL 的相关服务,并设它们为手动。要用它们时,再手去启动。
4、注意,里设置的是内存使用,不是所谓的“硬盘缓存”,更没有什么“删除”的概念。对于数据量大的生产数据库,SQL Server会尽可能将常用的数据读到内存中,以加快数据的读写与运算。
5、同时也在这里提醒,SQL Server在运行过程中,有很多中间数据是没有写入硬盘的,所以强行关机、掉电、可能丢失数据,甚至损坏数据库文件,所以生产用SQL Server一定要运行在有UPS的环境中。并且不是在不得已的情况下,不要强行关机,强行关电。

启动 SQL Server 之后,SQL Server 内存使用量将会持续稳定上升,即使当服务器上活动很少时也不会下降。另外,任务管理器和性能监视器将显示计算机上可用的物理内存稳定下降,直到可用内存降到 4 至 10 MB 为止。仅仅出现这种状态并不表示内存泄漏。此状态是正常的,并且是 SQL Server 缓冲池的预期状态。默认情况下,SQL Server 根据 *** 作系统报告的物理内存加载来动态增大和收缩其缓冲池(缓存)的大小。只要有足够的内存可用于防止分页(在 4 至 10 MB 之间),SQL Server 缓冲池就会继续增大。
建议你设置最大内存为总内存的60%到70%左右。这样当sql server占用内存达到此限制后,SQL SERVER会开始释放占用的内存,而不是清零,也不会死掉。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13457307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-10
下一篇 2023-08-10

发表评论

登录后才能评论

评论列表(0条)

保存