SQL SERVER2000 使用AWE 进行内存优化 2011-09-19 15:55:51 我来说两句 收藏 我要投稿 [字体:小 大 ] 今年年初的时候一个客户打电话抱怨系统随着时间的推移越来越慢,在正常情况下还能够忍受,如果系统出现数据问题需要重新执行,那可以想象在某一个时间急着需要报告而系统确是默默唧唧在拉破车,换谁都无法忍受。随之,我们调查这个问题,系统本身的设计就没有考虑到有如此大的机构数和高的频度,所以造成了数据库膨胀得特别快,特别是几个主要存放数据表更是比较吓人。 年份 数据量 比上年增长率 RMBCredit(万条) ForeCredit(万条) RMBCredit ForeCredit 2007 前 41867.00 12857.00 —— —— 2007 3978.14 2044.53 —— —— 2008 8933.24 5080.01 2.25 2009 10597.30 5790.29 1.19 2010 15235.03 9001.57 1.44 2011 2185.91 116.82 —— —— 从上表可以看出RMBCredit 表近8.3 亿笔数据,这个数据量在不同的数据库都是一个不小的数目,在讨论后给出了如下方法: (1)把历史数据移到其他地方进行存放,由于在做数据分析的时候需要保留两年的数据 (2)提高SQL Server2000 内存使用量,可以通过开启AWE 进行实现; (3)修改程序,按照年份存放不同数据表中(由于这个产品在公司已经有公司替代,处于消亡阶段,该修改工作量大风险高,否决); (4)使用数据库分区功能(该功能在SQL Server2000 未提供,另外做分区速度提升也不大,否决) 通过讨论确定了1、 2 方法进行改造,具体AWE 内存优化步骤如下面所介绍。 1. SQL SERVERAWE 大内存设置方法 标准的32 位地址最多可映射4 GB 内存。因此32 位进程的标准地址空间限制为4 GB。默认情况下,在32 位 Microsoft Windows 操作系统中,将为操作系统保留2 GB 空间,另外2 GB 空间可由应用程序使用。 在 32 位操作系统中,一般SQL Server 可以使用的內存不到2G,如果要SQL SERVER2000 可以使用大容量的內存,我们需要开启SQL-SERVER 的 AWE 功能。 1.1. 前置条件 1.1.1. 数据库全备份 在开始菜单选择开始菜单--Micrsoft SQL Server--企业管理器: 选择Micrsoft SQL Server--SQL Server 组 ---LOCAL---数据库---PBOCJRTJDB,点击右健选择所有任务--备份数据库: 数据库:选择PBOCJRTJDB 数据库 名称:PBOCJRTJDB 备份 目的:点击“添加”按键添加F:\release 金融统计信息共享平台\2011-04-0...