SQL server服务器大内存配置

 以前的服务器,由于内存的价格过高,一般配的内存不是很多,超过4G的当然就不多了.现在的服务器,配置超过4G就很多,在配作SQL 数据库服务器后,很多的人只选默认的设置,虽然可以正常使用,可是却把大量的内存给浪费(SQL服务使用的内存不会超过1.8G),系统的性能也不能因为的大内存而提升,这是很可惜的.

  在本文中,我大致讲一下配置的过程.(如果服务器的内存少于4G,不用配置)(网上完全讲这个的,没有见过,随手写一个)

  1.打开系统中的大内存支持(windows)

  若要启用 Windows 2000 Advanced Server 或 Windows 2000 Datacenter Server 支持

  大于4GB的物理内存,必须将参数 /pae 添加到 boot.ini 文件中。

  [boot loader]

  timeout=0

  default=multi(0)disk(0)rdisk(0)partition(1)/WINNT

  [operating systems]

  multi(0)disk(0)rdisk(0)partition(1)/WINNT="Microsoft Windows 2000 Advanced Server"

  /fastdetect

  改为

  [boot loader]

  timeout=0

  default=multi(0)disk(0)rdisk(0)partition(1)/WINNT

  [operating systems]

  multi(0)disk(0)rdisk(0)partition(1)/WINNT="Microsoft Windows 2000 Advanced Server"

  /fastdetect /pae

  这个改好后,要重启系统的

  2.启用锁定内存页选项(windows)

  启用锁定内存页选项

  在"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"gpedit.msc"。

  在"组策略"控制台上,展开"计算机配置",然后展开"Windows 设置"。

  展开"安全设置",然后展开"本地策略"。

  选择"用户权限分配"复选框。

  详细资料窗格中随即显示出策略。

  在详细资料窗格中,双击"锁定内存页"。

  在"本地安全策略设置"对话框中,单击"添加"按钮。

  在"选择用户或组"对话框中,添加有权运行 sqlservr.exe 的帐户。

  3.启用SQL的AWE

  若要启用 AWE,请将 awe enabled 设置为 1。除非指定了 max server memory 的值,否

  则 SQL Server 将保留几乎所有可用内存,只留下 128 MB 或更少。

  如果已成功启用该选项,则当 SQL Server 2000 实例启动时,SQL Server 错误日志中将

  出现"已启用地址窗口扩展"这条消息。

  awe enabled 是高级选项。如果正在使用 sp_configure 系统存储过程更改该设置,则只有

  当 show advanced options 设置为 1 时才能更改 awe enabled。

  code 如下,设定SQL 使用6G的内存

  sp_configure 'show advanced options', 1

  RECONFIGURE

  GO

  sp_configure 'awe enabled', 1

  RECONFIGURE

  GO

  sp_configure 'max server memory', 6144

  RECONFIGURE

  GO

  必须重新启动 SQL Server 2000 实例才能使更改生效。

  net stop mssqlserver

  net start mssqlserver

  这样,SQL 服务启动后,就会把6G的内存给锁定,完全供SQL使用

  参照SQL帮助文件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当SQL Server服务器内存占用量达到99%时,这通常是因为SQL Server在使用内存中缓存的数据和执行计划。这可以提高性能,因为缓存数据可以更快地访问,而无需经过磁盘读取和写入的时间。 然而,如果SQL Server使用了太多内存,会导致操作系统和其他应用程序无法使用足够的内存。这可能导致操作系统的性能下降,因为它需要将一些数据交换到磁盘上,而这通常比在内存中处理更慢。此外,如果其他应用程序无法使用足够的内存,可能会导致它们崩溃或运行缓慢。 为了解决这个问题,您可以尝试以下解决方法: 1.增加服务器内存容量,这将允许SQL Server使用更多的内存,同时确保其他应用程序有足够的内存。 2.尝试重新配置SQL Server的最大内存以控制它使用的内存量。可以在SQL Server Management Studio中通过右键单击SQL Server实例,选择属性,然后单击“内存”选项卡来完成此操作。 3.检查SQL Server内存使用情况和性能计数器以确定性能瓶颈,并尝试优化查询和索引以减少内存使用。 4.确保操作系统和其他应用程序优化和配置正确,以最大限度地利用可用的内存。 通过以上方法,您应该能够成功解决SQL Server服务器内存占用量过高的问题,提高服务器的性能和稳定性。 ### 回答2: 当一台 SQL Server 服务器内存占用高达99%时,这通常意味着服务器可能正在经历内存泄漏或过度利用问题。可能的原因如下: 1. SQL Server 内存泄漏 当 SQL Server 从磁盘中读取数据时,它会将数据存储在缓存中以提高性能。这个缓存被称为数据缓存,如果 SQL Server 在使用数据缓存时出现泄漏,则会导致内存占用率持续上升。 2. SQL Server 过度使用内存 如果服务器上托管的数据库数量极其庞大,而 SQL Server 又没有足够的内存可供快速访问,它可能会过度使用内存。在这种情况下,内存占用率可能会达到99%。 3. SQL Server 缓存过多查询计划 SQL Server 使用缓存来存储查询计划,以便将来快速重用它们。如果查询计划缓存超过了可用内存,那么内存占用率就会升高。 为了解决这个问题,我们可以采取以下措施: 1. 将服务器上运行的其他应用程序停止或重新安排它们的计划,以释放更多内存SQL Server。 2. 使用 SQL Server 内存分配指南优化内存分配,确保 SQL Server 有足够的内存可用,同时避免过度使用内存。 3. 定期跟踪 SQL Server 上运行的查询并针对于缓存进行优化,避免缓存过多的查询计划。 在优化内存使用方面,管理员需要注意保证 SQL Server 有足够的内存来处理任务,避免 SQL Server内存占用造成系统崩溃或性能下降。除此之外,还可以使用 SQL Server 自带的性能优化工具来寻找问题并解决。 ### 回答3: 随着企业系统的不断发展,数据库系统所需要占用的内存资源也越来越多,尤其是在大型应用场景下,因此出现SQLServer服务器内存占99%的情况并不稀奇。 但是,内存利用率过高也可能会导致服务器出现瓶颈和性能问题,影响系统的正常运行,那么该如何解决呢? 首先需要检查是什么原因导致内存占满,可以通过SQL Server Management Studio(SSMS)或者性能监视器等工具查看SQL Server实例的内存利用率,并结合SQL Server的管理日志,定位问题所在。 可能的原因如下: 1. 查询语句效率低下,导致大量的缓存查询计划占用内存资源。可以通过修改或优化查询语句,减少不必要的内存占用。 2. SQL Server实例缺少维护,导致大量未释放的内存。可以定期执行DBCC FREEPROCCACHE和DBCC DROPCLEANBUFFERS指令,清除不必要的查询计划和缓存数据。 3. 实例设置不当,导致内存资源被浪费或者内存泄漏,可以通过调整服务器参数,如max server memory和max worker threads等相关参数进行优化。 综上所述,当SQLServer服务器内存占99%时,需要及时查找问题所在,进行优化设置,以提高内存使用效率,保障系统的正常运行。同时,也需要注意定期进行维护和监控,防止类似的内存占用问题再次出现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值