Microsoft SQL Server 2000 的内存管理组件消除了对 SQL Server 可用的内存进行手工管理的需要。SQL Server 在启动时根据操作系统和其他应用程式当前正在使用的内存量,动态确定应分配的内存量。当电脑和SQL Server 上的负荷更改时,分配的内存也随之更改。有关更多信息,请参见内存构架。

下列服务器配置选项可用于配置内存使用并影响服务器性能:

  min server memory

              max server memory

              max worker threads

              index create memory

              min memory per query

min server memory 服务器配置选项可用于确保 SQL Server 至少以最小的分配内存量启动,并且内存低于该值时不会释放内存。能够基于 SQL Server 的大小及活动将该配置选项配置为特定的值。始终将 min server memory 服务器配置选项配置为某个合理的值,以确保操作系统不向 SQL Server 请求太多内存而影响 SQL Server 性能。

max server memory 服务器配置选项可用于:在 SQL Server 启动及运行时,指定 SQL Server 能够分配的最大内存量。假如知道有多个应用程式和 SQL Server 同时运行,而且想保障这些应用程式有足够的内存运行,能够将该配置选项配置为特定的值。假如这些其他应用程式(如 Web 服务器或电子邮件服务器)只根据需要请求内存,则 SQL Server 将根据需要给他们释放内存,因此不要配置 max server memory 服务器配置选项。然而,应用程式通常在启动时不假选择地使用可用内存,而假如需要更多内存也不请求。假如有这种行为方式的应用程式和 SQL Server 同时运行在相同的电脑上,则将 max server memory 服务器配置选项配置为特定的值,以保障应用程式所需的内存不由 SQL Server 分配出。

不要将 min server memory 和 max server memory 服务器配置选项配置为相同的值,这样做会使分配给 SQL Server 的内存量固定。动态内存分配能够随时间提供最好的总体性能。有关更多信息,请参见服务器内存选项。

max worker threads 服务器配置选项可用于指定为用户连接到 SQL Server 提供支持的线程数。255 这一默认配置对一些配置可能稍微偏高,这要具体取决于并发用户数。由于每个工作线程都已分配,因此即使线程没有正在使用(因为并发连接比分配的工作线程少),可由其他操作(如高速缓冲存储器)更好地利用的内存资源也可能是未使用的。一般情况下,应将该配置值配置为并发连接数,但不能超过 1,024。有关更多信息,请参见max worker threads 选项。

说明当 SQL Server 运行在 Microsoft Windowsreg; 95 或 Microsoft Windows 98 上时,最大工作线程服务器配置选项不起作用。

index create memory 服务器配置选项控制创建索引时排序操作所使用的内存量。在生产系统上创建索引通常是不常执行的任务,通常调度为在非峰值时间执行的作业。因此,不常创建索引且在非峰值时间时,增加该值可提高索引创建的性能。但是,最好将 min memory per query 配置选项保持在一个较低的值,这样即使任何请求的内存都不可用,索引创建作业仍能开始。有关更多信息,请参见 index create memory 选项。

min memory per query 服务器配置选项可用于指定分配给查询执行的最小内存量。当系统内有许多查询并发执行时,增大 min memory per query 的值有助于提高消耗大量内存的查询(如大型排序和哈希操作)的性能。但是,不要将 min memory per query 服务器配置选项配置得太高,尤其是在很忙的系统上,因为查询将不得不等到能确保占有请求的最小内存、或等到超过 query wait 服务器配置选项内所指定的值。假如可用内存比执行查询所需的指定最小内存多,则只要查询能对多出的内存加以有效的利用,就能够使用多出的内存。