2010年11月28日星期日

sql2000/sql2005支持大于4GB内存,win2003内存

sql2000/sql2005支持大于4GB内存,win2003内存
2010年02月21日 星期日 15:36
      本机是win2003 VLK版,自已编辑win2003安装ISO文件添加SP1的,你可以上网下载大企业版带有SP1(2005年出的)或SP2(2007年出的)纯净win2003 server中文企业版,本人原来电脑的硬盘坏了,所有备份软件全丢失,win2003 SP1安装上直接认得大于4GB以上的大内存,win2003(不带SP1)或win2000 server(或高级服务器版)均不支持大内存,要开启PAE参数才能认得大内存,如服务器有8GB内存,就设置虚拟内存为1:1 ,虚拟内存也是8G,有的人错误认为内存大的机器感觉不用设置虚拟内存,就像linux系统,内存大也一样要设置交换分区一样,这是程序设计时有好多程序会使用到分页文件,就是windows本身体也要使用分页文件,所以虚拟内存是一定要有的,windows的虚拟内存就像linux的交换分区一样供程序临时存储数据使用。

注:在win2003 SP1的环境中,sql2000一定要打SP4补丁,中文版就到微软中国下载中心下载,英文版也可以,不过下载点是微软美国的,下载速度比较慢,sql2000/sql2005等数据库存软件已经从IBM,Oracle等公司吸取好多经验,国际化支持已经很成熟悉,安装中文版和英文版没有明显区别,字符集排序都OK的,关键是看你使用的系统开发时第一次或移植过来的程序是使用什么字符排序的,sql server6.5/7.0的排序方式就有好多种,如本公司的系统就是使用早期的排序方式,所以在sql2000新的或现在的排序方式是找不到的,是要使用早期兼容方。

以下指的都是32位程序系统,64位不在讨论之内,因为大部分中小企业还没使用到数据挖掘和人工智能(BI)决策支持系统,所以32位系统在近几年内还是足够可用的,两三千万条记录以下的数据库,对于中小企业是足够的。如果使用五千万条记录以上,并且要使用到数据联机分析(OLAP)服务以及决策支持系统,可以考虑升级到64位系统
 
第一步.   启用SQL Server 2005/sql2000的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 使用6.4G的内存

---------------------------------------------
   sp_configure 'show advanced options', 1
   RECONFIGURE
   GO
   sp_configure 'awe enabled', 1
   RECONFIGURE
   GO


第二步,最小内存,最大内存设置
sp_configure 'min server memory', 4000
RECONFIGURE
GO

sp_configure 'max server memory', 6550
RECONFIGURE
GO

------------------------------------------
成功操作后有以下提示:

DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Configuration option 'min server memory (MB)' changed from 3069 to 4000. Run the RECONFIGURE statement to install.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Configuration option 'max server memory (MB)' changed from 6451 to 6550. Run the RECONFIGURE statement to install.

第三步,启用锁定内存页选项(windows)
启用锁定内存页选项
在"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"gpedit.msc"。
在"组策略"控制台上,展开"计算机配置",然后展开"Windows 设置"。
展开"安全设置",然后展开"本地策略"。
选择"用户权限分配"复选框。
详细资料窗格中随即显示出策略。
在详细资料窗格中,双击"锁定内存页"。
在"本地安全策略设置"对话框中,单击"添加"按钮。
在"选择用户或组"对话框中,添加有权运行 sqlservr.exe 的帐户,如:Administrator或SYSTEM或网络用户(sql server最好用此用户启动,在非域的环境,当管理员更换口令时数据库服务不用更改口令,system或网络账户是不能更改口令的,是内置用户)。


第四步,设置CPU处理数据库程序的优先级使用MMC打开sql2000管理器选中服务器本机sql 2000
工具 ->sql server配置属性,内存已经配置好,不要动
   选中处理器 ->最大工作线程 sql2000默认是255 这个可以根据情况改大少少,255-512都OK,根据硬件环境
在windows上提升sql server的优先级,这个打上勾,这个对数据库服务器来说,有提高性能的
注:‘不要在 使用windows NT 纤程’ 打勾, windws NT纤程是比线程更细的进程,
这个只是微软的作法,在没明情况最好不要使用,对性能影响不知,其实使用进程和线程已经足够,
类linux,UNIX系统下的数据库服务DB2,mysql,ORACLE等都是使用进程和线程方式


注:
winXP 32位不支持4GB以上内存,win2003 server不打sp1补丁的要开启pae参数,有SP1以上的不用作以下动作

启用操作系统/PAE开关
如果在 SQL Server 中使用 Boot.ini 的 /PAE 开关和 AWE 启用选项,SQL Server 2000 就可以使用 4 GB 以上的内存。没有 /PAE 开关,win2000/win2003(不带SP1)/SQL Server 最多只能使用 3 GB 的内存。
在 Windows 2000 adv server/win2003 上,要使 AWE 可以使用 16 GB 以上的内存,请确保在 Boot.ini 文件中没有使用 /3GB 开关。如果在 Boot.ini 文件中使用 /3GB 开关,Windows 2000 可能无法正常提供 16 GB 以上的任何内存。


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE

没有评论:

发表评论