SQLserver狂占CPU解决方案

来源:互联网 发布:关于数据库的书籍 编辑:程序博客网 时间:2024/04/29 20:00

1.打开操作系统启动时PAE 配置项;步骤:找到系统安装的引导位置的目录下找到boot.ini文件,默认是隐藏只读的,找到 Windows2003 启动配置,在后面加上空格 /PAE ,保存;重启示例所示: multi(0)disk(0)rdisk(0)partition(2)/%systemroot%= "Windows Server 2003 Datacenter Edition " /PAE 4.1. 在Windows Server 2003使用SQL Server 2005概述 SQL Server 2005 支持在 Windows Server 2003 上动态分配 AWE 映射内存。通过允许访问超过在所配置虚拟内存地址空间上设置的限制的可用物理内存,AWE 可扩展 32 位操作系统上运行的应用程序的功能。 启动过程中,SQL Server 仅保留一小部分 AWE 映射内存。需要额外的 AWE 映射内存时,操作系统会动态地将其分配给 SQL Server。同样,如果需要更少的资源,SQL Server 会将 AWE 映射内存返还给操作系统,以供其他进程或应用程序使用。SQL Server 和操作系统之间的这种平衡受到 min server memory 和 max server memory 参数的限制。 在 Windows Server 2003 中运行 SQL Server 2005 时,无需重新启动 SQL Server 实例,SQL Server 即可响应 max server memory 和 min server memory 配置选项的更改。 在 Windows Server 2003 下,如果服务器的物理内存小于虚拟内存地址空间上已配置的限制,则该服务器支持动态 AWE 映射内存。在这种情况下使用 AWE 不会对性能产生影响,但添加的物理内存超过虚拟内存地址限制时,可以在不重新启动服务器的情况下使用此物理内存。 4.2. 启用AWE 对于 Windows Server 2003,由于 AWE 映射内存管理是动态的,因此在启动过程中,只分配总可用物理内存的一小部分。 如果已成功启用此选项,当 SQL Server 2005 实例启动时,SQL Server 错误日志中将写入消息“Address Windowing Extensions enabled”。 必须在启用 AWE 之前为 SQL Server 帐户授予 LOCK PAGE IN MEMORY 权限。 awe enabled 选项是一个高级选项。如果使用 sp_configure 系统存储过程来更改该设置,则只有在 show advanced options 设置为 1 时才能更改 awe enabled。必须重新启动 SQL Server 实例,AWE 才会生效。 4.3. 启用锁定内存页选项(windows) 启用锁定内存页选项 在"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"gpedit.msc"。 在"组策略"控制台上,展开"计算机配置",然后展开"Windows 设置"。 展开"安全设置",然后展开"本地策略"。 选择"用户权限分配"复选框。 详细资料窗格中随即显示出策略。 在详细资料窗格中,双击"锁定内存页"。 在"本地安全策略设置"对话框中,单击"添加"按钮。 在"选择用户或组"对话框中,添加有权运行 sqlservr.exe 的帐户。 4.4. 启用SQL Server 2005的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。  如下:设定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 4.5. 重新启动服务 必须重新启动 SQL Server 2005 实例才能使更改生效。  net stop mssqlserver  net start mssqlserver  这样,SQL 服务启动后,就会把6G的内存给锁定,完全供SQL使用 最后进行服务优化: sc config MSSQLServerADHelper start= disabled sc config MSSQLServerOLAPService start= disabled sc config SQLBrowser start= disabled sc config MsDtsServer start= disabled net stop MSSQLServerADHelper net stop MSSQLServerOLAPService net stop SQLBrowser net stop MsDtsServer

原创粉丝点击