数据库优化方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通过网络查找资料以及测试整理,现将sql server 大内存配置办法贴出来。
SQL服务使用的内存一般默认不会超过1.8G,因此就算你的服务器有N个G的内存,也未见访问会变快很多。这就是很多由于数据大,访问慢,升级服务器后看到的情况。
我大致讲一下配置的过程.(如果服务器的内存少于4G,不用配置)(网上完全讲这个的,没有见过,随手写一个)
1.打开系统中的大内存支持(windows)
若要启用Windows 2003 大于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 2003...."
/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 2003....""
/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帮助文件
=================
//查看是否开启awe
sp_configure 'show advanced options', 1
go
reconfigure
go
sp_configure 'awe enabled'
go
如果run_value 设置为1,则服务器上启用了AWE。
/////
为SQL Server 2005启用对4 GB 以上物理内存的支持
若要启用Microsoft SQL Server 地址窗口化扩展插件(AWE),必须使用已指定“锁定内存页”选项的Microsoft Windows 帐户运行SQL Server 2005 数据库引擎,并使用sp_configure 将awe enabled 选项设置为1。必须选中控制面板中“网络连接”的“最大化网络应用程序数据吞吐量”选项。
注意:
只有SQL Server 2005 Enterprise Edition、Standard Edition 和Developer Edition 支持AWE,并且AWE 只能应用于32 位操作系统。SQL Server 2005 Analysis Services (SSAS) 不能利用AWE 映射内存。如果可用物理内存小于用户模式虚拟地址空间,则无法启用AWE。
一、锁定内存页
此策略将确定哪些帐户可以使用进程将数据保留在物理内存中,从而阻止系统将数据分页到磁盘的虚拟内
存中。在SQL Server 2005 中,“锁定内存页”选项默认设置为OFF。如果您具有系统管理员权限,则可以使用Windows 组策略工具(gpedit.msc) 手动启用该选项,并将此权限指定给正在运行SQL Server 的帐户。有关如何启用“锁定内存页”选项的详细信息,请参阅如何启用“锁定内存中的页”选项(Windows)。
虽然没有要求,但我们建议在使用64 位操作系统时锁定内存中的页。对于32 位操作系统,在将AWE 配置为用于SQL Server 之前,必须授予“锁定内存页”权限。
二、awe enabled 选项
若要为SQL Server 2005 实例启用AWE,请使用sp_configure 将awe enabled 选项设置为1,然后重新启动SQL Server。因为AWE 在SQL Server 启动时已启用并一直持续到SQL Server 关闭,所以SQL Server 会向SQL Server 错误日志发送“Address Windowing Extensions enabled”消息,通知用户awe enabled 正在使用中。有关awe enabled 配置选项的详细信息,请参阅awe enabled 选项。
最大化网络应用程序数据吞吐量
如果在“网络连接”中选中了“最大化文件共享的数据吞吐量”选项,则操作系统将在文件系统缓存中缓存应用程序的I/O 页面,从而优先处理执行缓冲输入/输出(I/O) 操作的应用程序。此选项可能会限制可用于SQL Server 正常操作的内存。
三、检查当前操作系统的设置:
在“控制面板”中,双击“网络连接”,再双击“本地连接”。
在“常规”选项卡上,单击“属性”,选择“Microsoft 网络的文件和打印机共享”,再单击“属性”。
选中“最大化网络应用程序数据吞吐量”,单击“确定”,再关闭其余对话框。
SQL Server 使用内存有两种情况:
第一种情况:动态改变它的内存需求。
默认情况下,SQL Server 会依据可获得的系统资源动态改变它的内存需求。如果SQL Server 需要更多的内存,它会要求操作系统确定是否有空闲的物理内
存可用,并使用可用的内存。若SQL Server 不再需要当前分配给它的内存,
它就将内存释放给操作系统。当SQL Server 动态使用内存时,它要求系统定
期地检测可用的物理内存数量。SQL Server 根据服务器活动增大或收缩高速缓冲存储器,以使可用物理内存保持在 4 MB 到10 MB 之间。这就避免了系统
进行换页操作。
[也就是说,这种情况下SQL SERVER 本身不会使物理可用内存小于4M,如果比较长的时间内都小于4M的话,则要看一下是不是该服务器上其它应用程序有问题]
第二种情况:限制使用内存
使用set working set size 为sql server保留等于服务器内存设置的物理内存空间。即使是sql server 进程此时是空闲的,系统也不会将SQL Server 页交换出去。
使用min server memory 保证sql server 使用的最小内存。SQL Server 启动
时不立即分配min server memory 中所指定的内存量。但是,当内存使用由于客户端负荷而达到该值后,SQL Server 将无法从已分配的缓冲池中释放内存。