浅谈优化SQLServer数据库服务器内存配置的策略
理解内存----优化SQLServer内存配置

理解内存----优化SQLServer内存配置最小和最大Server内存Min Server Memory (MB) 和 Max Server Memory (MB)控制所有SQL Server内存使用的许可大小。
比起之前的版本,SQL Server 2012的Memory Manager可以更简单地设置SQL Server内存需求的大小。
SQL Server服务是以所需的最小量启动的,并根据需要增长。
一旦内存使用增长超过Min Server Memory设置,SQL Server将不会释放任何低于该量的内存。
Min Server Memory设置内存使用的下限,而Max Server Memory则设置上限。
这两个值可以使用sp_configure或通过Management Studio中的SQL Server属性窗口的内存页面进行设置。
两个设置中,配置缓冲池的最大值更重要,它会阻止SQL Server占用过多的内存。
这在64位系统中尤其重要,因为缺少可用物理内存能够导致Windows裁剪SQL Server的工作集。
后面的“锁定内存页”有关于这个问题的完整描述。
对于配置Max Server Memory,有一些不同的方法来计算合适的值,最直接的方法是看看SQL Server的最大使用量,及确定SQL Server之外内存需求的最大潜在用量。
查看SQL Server的最大使用量设置SQL Server动态管理内存,然后使用性能监视器监视计数器MSSQL$<instance>:Memory Manager\Total ServerMemory (KB)。
这个计数器测量SQL Server的总缓冲池使用量。
如果SQL Server以外的其他需求需要比当前可用内存更多的物理内存时,T otal Server Memory值会降低,然后使用任何可用内存再增加。
如果您监视此计数器一段时间(包括忙时和淡时),然后你就可以将Max Server Memory设置为你观察到的Total Server Memory (KB)的最低值,你不必担心SQL Server在正常操作期间收缩它的使用量。
SQLServer数据库中的性能优化技巧

SQLServer数据库中的性能优化技巧随着企业信息化程度的不断提高,数据库已成为重要的企业数据存储和管理平台。
然而,随着数据库中数据量的增长和业务需求的不断变更,数据库性能优化愈发成为一个迫切的问题。
本文将通过探讨SQLServer数据库中的性能优化技巧,为读者解决这一问题提供一定参考价值。
一、透彻的SQLServer架构理解要想有效优化SQLServer数据库性能,首先需要充分理解其架构及其特点。
SQLServer 的架构由表、索引、存储过程、视图、触发器、函数、约束以及数据库模式(schema)等构成。
此外,SQLServer还有两个关键组件:SQLServer实例和SQLServer代理。
SQLServer实例是SQLServer运行环境的一部分,它具有独立的内存和处理能力。
而SQLServer代理则是自动执行作业的一种机制。
深入了解SQLServer架构是性能优化的基础。
二、优化查询语句对SQLServer数据库进行性能优化的第二步是优化查询语句。
查询语句是数据库操作的核心,也是导致性能问题的重要原因。
开发人员在编写查询语句时,应遵循以下几个优化点:1.减少Join的使用Join是SQLServer中最慢的一种查询方式,尽量用Where子句代替Join语句。
2.避免在查询中使用SELECT *SELECT *在数据库中是一种非常低效的查询方式,因为它会扫描所有表格,并提取出每一个列。
指定要查询的列格外重要,应尽量将查询中的选择列数目减至最小。
3.尽早的删选出不需要的记录查询语句中应该尽早地删选出不需要的记录,可以通过将这些条件放在Where子句中实现。
4.避免使用 costly functions在计算列(如使用SUM、AVG、COUNT)时应尽量避免使用高花费的函数,如自联接和复杂的计算等。
5.切勿在查询中使用模糊查询查询语句中尽量不要使用LIKE操作符,因为它会扫描所有的符合特定模式的记录。
基于SQLServer的数据库设计与性能优化

基于SQLServer的数据库设计与性能优化一、引言在当今信息化时代,数据库作为数据存储和管理的核心工具,在各行各业都扮演着至关重要的角色。
而在众多数据库管理系统中,SQLServer作为一款功能强大、稳定可靠的关系型数据库管理系统,被广泛应用于企业级应用系统中。
本文将重点探讨基于SQLServer的数据库设计与性能优化策略,帮助开发人员更好地利用SQLServer提升系统性能。
二、数据库设计原则1. 数据库范式在进行数据库设计时,遵循范式化设计原则是至关重要的。
通过将数据分解成更小的、更有序的数据单元,可以减少数据冗余,提高数据存储效率。
常见的范式包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF),开发人员应根据实际情况选择合适的范式进行设计。
2. 数据库索引合理设计索引是提升数据库查询性能的有效手段。
在SQLServer 中,可以通过创建适当的索引来加快查询速度,减少数据检索时间。
但是过多的索引会增加写操作的成本,因此需要权衡考虑哪些字段需要建立索引,以达到最佳性能。
3. 数据库表结构良好的数据库表结构是保证系统性能稳定的基础。
在设计表结构时,应该遵循规范化原则,避免出现大量冗余字段和不必要的关联。
同时,合理选择字段类型和长度,减少空间浪费,提高数据存储效率。
三、性能优化策略1. 查询优化在SQLServer中,查询是数据库操作中最频繁的操作之一。
为了提升查询性能,可以采取以下策略: - 使用合适的索引覆盖查询; - 避免使用SELECT * 查询所有字段; - 避免在WHERE子句中对字段进行函数操作; - 使用JOIN语句代替子查询等。
2. 索引优化索引是提升查询性能的关键因素之一。
在进行索引优化时,可以考虑以下几点: - 定期对索引进行重建和重新组织; - 使用覆盖索引减少IO开销; - 避免创建过多冗余索引; - 对频繁更新的字段谨慎创建索引等。
3. 存储优化合理配置存储结构也是提升数据库性能的关键。
SQL Server数据库的优化设计

SQL Server数据库的优化设计随着互联网的快速发展,大量数据的处理和管理已经成为各行各业必不可少的部分。
作为一种可靠的数据库管理系统,SQL Server在日常工作中发挥着至关重要的作用。
但是,为了更高效地使用数据库,我们需要进行优化设计。
本文将为大家介绍SQL Server数据库的优化设计方法和注意事项。
一、选择合适的存储引擎在SQL Server中,常用的存储引擎有InnoDB、MyISAM、BDB等。
不同的存储引擎适用于不同的场景和需求,因此在数据库的建立和维护过程中,需要选择适合自己的存储引擎。
1. InnoDB存储引擎InnoDB是MySQL最常用的存储引擎之一,也是SQL Server的默认存储引擎。
它支持ACID事务、行级锁定、外键约束、多版本并发控制等特性。
适用于需要高并发和事务支持的场景。
2. MyISAM存储引擎MyISAM存储引擎不支持事务和行级锁定,但是其具有快速的读取速度和高效的空间利用率。
适用于读频繁、写较少的场景。
3. BDB存储引擎BDB存储引擎支持事务、ACID和行级锁定,适用于高并发的OLTP场景。
但是,BDB的写入速度相对较慢,不适合大量的写入操作。
二、合理建立索引索引是提高数据库查询效率的重要手段。
但是,过多或者不合理的索引反而会降低查询效率和数据库性能。
因此,在数据库的优化设计中,必须合理建立索引。
1. 唯一索引唯一索引通常用于表中的主键列和唯一约束列。
每个索引值都必须是唯一的,可以加速数据查找和数据修改的速度。
2. 非唯一索引非唯一索引通常用于需要经常搜索和排序的列或者联合查询的列。
需要注意的是,如果索引的长度设置过长,可能会导致磁盘空间的浪费和查询效率的降低。
因此,在建立非唯一索引时,需要根据实际情况选择适当的长度。
3. 聚集索引聚集索引是对表中所有数据进行物理排序的索引,通常是主键索引。
因此,聚集索引的建立对于表的查询效率和性能有重要影响。
三、适当使用分区表当数据量过大时,为了加速数据的查询和处理,可以使用分区表。
浅谈优化SQLServer数据库服务器内存配置的策略

浅谈优化SQLServer数据库服务器内存配置的策略浅谈优化SQLServer数据库服务器内存配置的策略作者:季广胜言农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Microsoft SQL Server为基础建立起来的大型数据库应用程序,系统界面友好、操作简便,计算、分析、检索功能非常强大,为保证农业银行系统及时进行纵向和横向业务数据采集、按照不同要求生成统计报表,进行全面业务活动分析提供了强有力的保障。
但在这套程序的推广、维护中笔者发现系统有时运行速度较慢,特别是在Win95客户端操作时尤为严重,经过排除网线连接等硬件可能带来的影响后上述问题仍然存在。
笔者经过仔细摸索,发现系统对硬、软件的要求较高,为充分发挥设计效能,达到最佳运作效果,需要对计算机硬、软件系统进行较为完备的性能测试与最佳配置,特别是内存配置的好坏对系统的运行速度具有决定性的作用。
下面,笔者就如何优化SQLServer数据库服务器的内存配置提出一些认识和看法。
一、有关内存的基本概念1 物理内存与虚拟内存WindowsNT使用两类内存:物理内存与虚拟内存。
物理内存:作为RAM芯片安装在计算机内部的存储器。
虚拟内存:用于模拟RAM芯片功能的磁盘(硬盘)空间,其实质是通过将内存中当前没有使用的部分内容临时存储到磁盘上,使系统可以使用到比机器物理内存更多的内存。
2 分页和分页文件WindowsNT系统通过使用磁盘空间使得对内存的需求得到部分缓解,从而使用到比物理内存更多内存的技术就称为“交换”或分页,也就是通常所说的虚拟内存技术。
通常Windows NT 4.0系统安装时将在引导驱动器上设置一个大小为16MB的交换(分页)文件(pagefile.sys)。
二、优化Windows NT 4.0系统内存配置在大多数情况下,为了充分发挥Windows NT 4.0系统效能,内存的作用比起处理器的处理能力更具有影响力,特别是在客户/服务器模式环境下更是如此,因为通常在这种环境下并不十分强调处理器的能力,相反却十分注重是否采用足够的内存来满足各个客户的应用需要。
SQLServer数据库性能调优技巧

SQLServer数据库性能调优技巧第一章:SQLServer数据库性能调优概述SQLServer是一种常用的关系型数据库管理系统,在大型企业和云计算环境中广泛应用。
为了确保数据库的高性能和可靠性,进行数据库性能调优非常重要。
本章将介绍SQLServer数据库性能调优的概念和目标。
1.1 数据库性能调优的概念数据库性能调优是指通过分析和优化数据库的结构、查询、索引、存储和配置等方面的问题,以提高数据库系统的效率和性能。
优化数据库性能可以显著提升数据的访问速度、减少系统响应时间和提高数据库的处理能力。
1.2 数据库性能调优的目标数据库性能调优的主要目标是提高数据库的运行效率和用户的体验,具体目标包括:- 提高数据的访问速度:通过合理的查询优化和索引设计,加快数据的检索速度。
- 减少系统响应时间:通过调整数据库配置、优化SQL 查询和提高硬件性能等措施,缩短系统响应时间。
- 提高数据库的处理能力:通过合理的分区设计、并行处理和负载均衡等措施,提高数据库的并发处理能力。
第二章:SQLServer数据库性能调优基础在进行SQLServer数据库性能调优之前,有几个基础概念需要了解,包括数据库的结构、查询执行计划和索引等。
2.1 数据库的结构SQLServer数据库由多个表组成,每个表由多个行和列组成。
表有一定的关系,通过主键和外键来建立关联。
了解数据库的结构对于进行性能调优非常重要。
2.2 查询执行计划查询执行计划是SQLServer数据库执行查询语句时的执行路径和操作过程的详细描述。
通过分析查询执行计划,可以找到潜在的性能问题,并进行相应的优化。
2.3 索引索引是一种特殊的数据库对象,用于加快查询速度。
常见的索引类型包括聚集索引、非聚集索引和全文索引等。
合理设计索引可以提高查询的性能。
第三章:SQLServer数据库性能调优技巧本章将介绍一些常用的SQLServer数据库性能调优技巧,包括查询优化、索引优化、配置优化和硬件优化等。
SQLServer数据库优化实用技巧

SQLServer数据库优化实用技巧SQL Server数据库优化实用技巧随着互联网的飞速发展,海量数据的存储和处理变得越来越重要。
而SQL Server数据库就是其中之一。
随着数据库的规模增大,数据量也会随之增加,导致查询速度变得很慢。
所以,我们需要对SQL Server数据库进行优化来提高其处理速度和稳定性,本文将从以下几个方面来讲解SQL Server数据库的优化实用技巧。
一、数据库优化前的准备工作在进行SQL Server数据库优化之前,我们需要做好以下准备工作:1.备份数据库:在数据库优化之前需要备份数据库,以防因操作失误导致数据丢失。
2.生成关键字:根据数据库的运行情况,生成关键字来优化查询。
例如,数据倾斜、常用的表连接等。
3.性能监控:使用SQL Server Profiler来监控数据库运行的临时数据、活动情况等。
4.目录重建:重建索引,以提高查询速度。
5.删除不必要的表和视图:删除对整个数据库只起到负面影响的表和视图对象。
二、SQL Server数据库性能优化SQL Server数据库性能优化需要注意以下几点:1.数据类型:选择合适的数据类型可以提高数据库的性能。
数据类型包括大小、数据格式等。
尽量使用较小的数据类型,以减少I/O的负担。
2.索引:索引可以大大提高查询速度,但是索引也会占用大量的存储空间,因此需要根据实际情况来选择和创建索引。
为频繁查询的列或组合列创建索引是比较合适的。
3.使用视图:使用视图可以减少数据访问的复杂度,提高查询速度。
但过多的视图也会影响数据库的性能,因此需要注意选择使用视图的频率。
4.分区表:分区表将一个大表分成多个小表,可以提高查询速度,减少对整个表的访问开销。
5.使用存储过程:存储过程可以提高数据库的效率和稳定性。
通过存储过程,可以将多个SQL语句封装到一起,减少客户端和服务器之间的通信,大大提高数据库的性能。
6.升级硬件:在处理大量数据时,硬件性能的升级也是提高数据库性能的有效方法。
SQL SERVER 如何配置内存提高性能配置方案

SQL SERVER 高内存提高性能配置方案客户案例:操作系统:32位windows 2003/2008 server数据库:SQL SERVER 2003/2005/2008客户服务器内存:4G以上(一般建议8-20G内存)1.启用操作系统4G以上内存支持以来很多人都认为32位的操作系统只能识别不超过4G内存,其实理解是错误的,4G 只是指操作系统内存通用的寻址限制,对于32操作系统而言可以识别64G内存,只是对于超过4G的部分操作系统只是作为内存分页使用,不作通用寻址用法不同。
注:识别超出部分内存的方法,修改boot.ini文件,在引导参数内加上/PAE执行菜单运行notpad c:\boot.int如果同时有/3gb参数要去掉2.SQL SERVER启用AWE支持注:用最大内存后至少要给操作系统留4G内存,也就是说最大内存+4G应该小于总的内存数。
3.将SQL SERVER启动账户的用户页内存页锁定,相当于SQL SERVER独占内存查看SQL SERVER的启动账户,如果为SYSTEM刚不用更改启动账户,如果为administrator或其它操作系统在用的账户则建议更改成其它专门账户来启动。
锁定内存页方法分配内存中锁定页用户权限,请执行以下步骤:1.单击启动单击运行,类型gpedit.msc然后单击确定.请注意"组策略出现对话框。
2.展开计算机配置然后展开Windows 设置.3.展开安全设置然后展开本地策略.4.单击用户权限分配然后双击中锁定页内存.5.在中本地安全策略设置对话框中,单击添加用户或组.7.关闭组策略是。
8.重新启动服务器。
如果客人是64位的操作系统由于能直接识别4G以上内存只需作步骤2和3。
此方案的可以提高性能30-40%,特别对于用户量大且邮件数据量超过200万的用户,建议使用。
如果客户每天都定时出现突然变慢的情况且持续10-20分钟又正常,查看操作系统日志可以发现SQL SERVER内存调度错误提示也可以用此方案来解决常见的错误日志是:sql 服务器进程内存的一大部分已调出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈优化SQLServer数据库服务器内存配置的策略浅谈优化SQLServer数据库服务器内存配置的策略作者:季广胜言农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Microsoft SQL Server为基础建立起来的大型数据库应用程序,系统界面友好、操作简便,计算、分析、检索功能非常强大,为保证农业银行系统及时进行纵向和横向业务数据采集、按照不同要求生成统计报表,进行全面业务活动分析提供了强有力的保障。
但在这套程序的推广、维护中笔者发现系统有时运行速度较慢,特别是在Win95客户端操作时尤为严重,经过排除网线连接等硬件可能带来的影响后上述问题仍然存在。
笔者经过仔细摸索,发现系统对硬、软件的要求较高,为充分发挥设计效能,达到最佳运作效果,需要对计算机硬、软件系统进行较为完备的性能测试与最佳配置,特别是内存配置的好坏对系统的运行速度具有决定性的作用。
下面,笔者就如何优化SQLServer数据库服务器的内存配置提出一些认识和看法。
一、有关内存的基本概念1 物理内存与虚拟内存WindowsNT使用两类内存:物理内存与虚拟内存。
物理内存:作为RAM芯片安装在计算机内部的存储器。
虚拟内存:用于模拟RAM芯片功能的磁盘(硬盘)空间,其实质是通过将内存中当前没有使用的部分内容临时存储到磁盘上,使系统可以使用到比机器物理内存更多的内存。
2 分页和分页文件WindowsNT系统通过使用磁盘空间使得对内存的需求得到部分缓解,从而使用到比物理内存更多内存的技术就称为“交换”或分页,也就是通常所说的虚拟内存技术。
通常Windows NT 4.0系统安装时将在引导驱动器上设置一个大小为16MB的交换(分页)文件(pagefile.sys)。
二、优化Windows NT 4.0系统内存配置在大多数情况下,为了充分发挥Windows NT 4.0系统效能,内存的作用比起处理器的处理能力更具有影响力,特别是在客户/服务器模式环境下更是如此,因为通常在这种环境下并不十分强调处理器的能力,相反却十分注重是否采用足够的内存来满足各个客户的应用需要。
此外,为了获得容错功能和保护应用程序,保证应用程序高速运行、充分发挥设计功能都需要有足够多的内存,特别是工业绘图设计和各种工程应用程序更需要占用大量的内存来进行复杂的计算。
物理内存(RAM)方便快速的优点显而易见,但由于其价格昂贵,也就不可能做到多多益善了,因此通过合理优化内存配置、扩充虚拟内存提高计算机运算速度也就成了一项很重要的应用技术手段。
1 保证Windows NT系统基本内存需求Windows NT 4.0系统至小应配置12MB内存,16MB内存基本够用,正常情况下保证NT系统有32MB内存就可以了,因为并不是所有的16MB基本内存在任何时候都被同时使用。
如果添加一些服务和应用程序,则对内存的需求就会急剧增大。
如:(1)添加网络服务需要4MB内存空间;(2)容错功能和系统保护功能需要8MB内存(如磁盘镜像和分条功能);(3)进行图形图象处理需要增加16MB内存空间;(4)安装VC、VB开发系统需要增加16MB内存空间;另外,如在Windows NT上构建大型数据库如SYBASE、Microsoft SQL Server等,对内存的需求就更多了。
2 优化内存性能为了使WindowsNT不至于过分占用较多的内存或者浪费处理器的时间用于换页,可以采用以下方法优化内存性能。
(1)减少显示颜色的数量;(2)降低显示分辨率;(3)尽可能不使用或使用位宽度较小的墙纸;(4)关闭不需要的服务程序或驱动程序,尽量不要在服务器上使用其它应用程序。
停用服务或驱动程序的操作步骤如下:①确定需要停用的服务或驱动程序的名称;②从“控制面板”中双击“服务”或“设备”图标;③在列表中选择想要停用的服务或设备驱动程序的名称,单击“停止”按钮,这时出现确认操作对话框;④选择“是”确认操作,然后关闭对话框完成设置。
3 优化虚拟内存在对Windows NT虚拟内存进行设置时需要合理确定各个驱动器分页文件的“起始大小”和“最大值”两个参数,它们用于指定分页文件的起始空间和最大空间。
下面对这两个参数作一些解释:起始大小:指初始创建该分页文件时的文件大小,单位为MB,根据缺省设置,这个值被设置为系统中的物理内存的大小。
最大值:指出该分页文件的最大尺寸,单位为MB。
(1)分页文件的设置原则:①分页文件起始大小应保留缺省设置,一般情况下请不要改动;②分页文件理想的最大尺寸为系统物理内存尺寸的 2.5倍至4倍。
需要说明的是:如果系统工作时不需要大量内存,请选择靠近下限的值,即用系统物理内存的2.5倍作为这个尺寸的起始值;如果系统工作时需要大量内存,请选择靠近上限的值。
(2)Windows NT虚拟内存设置步骤:①从“控制面板”中双击“系统”图标;②在“系统特性”对话框中单击“性能”标签;③在虚拟内存对话框中单击“更改”按钮,这时出现“虚拟内存”对话框,上端的驱动器框逐一列出了Windows NT所有页面文件的大小;④在驱动器列表中,选择需要设置分页文件的驱动器盘符,在“驱动器页面文件大小”对话框中列出了“起始大小”和“最大值”两个参数栏,填入按照上面的原则确定的数值;⑤单击“设置”确认以上操作,然后依次单击“确定”按钮退出各个对话框,完成设置。
(3)Win95/98虚拟内存设置。
Win95/98虚拟内存设置方法、步骤和原则与Windows NT 4.0的设置大致相同,请参照上面Windows NT的设置。
4 注意事项(1)合理确定分页文件的最大值,根据系统需求随时进行调整,使用过多虚拟内存将导致整个系统处理性能的下降。
设置虚拟内存最大值的目的是使用户不必在WindowsNT的交换文件上消耗过多的磁盘空间,通常情况下如果超过了系统需要的最佳值后,生成交换文件的磁盘空间就被浪费了。
(2)尽可能设立专用硬盘配置内存交换区,或将交换空间放到主硬盘的另一个分区,同时应将主硬盘的交换文件大小降至16MB,这样主硬盘(分区)仅用来放置操作系统和应用程序,就可以减少交换次数,防止频繁交换耗费大量CPU时间。
(3)虚拟内存技术的确改善了Windows NT系统的性能,但也受到机器硬盘空间大小、硬盘速度、处理器(CPU)速度的影响,从理想角度出发,要提高计算机的性能就必须减少交换操作的次数,但是没有一个WindowsNT计算机不发生交换,这就要求计算机要有足够的物理内存,以保持最少的交换操作。
三、优化Microsoft SQL Server数据库内存配置内存是影响Microsoft SQL Server系统性能的一个重要因素,SQL Server数据库安装时将为具有32MB物理内存的机器缺省配置16MB 可用内存,16MB物理内存的机器缺省配置4MB可用内存。
应在Microsoft SQL Server数据库安装后进行内存选项(Memory)设置,最大配置值为2GB。
为了确定SQL Server系统最适宜的内存需求,可以从总的物理内存中减去Windows NT4.0需要的内存以及其它一些内存需求后综合确定,理想的情况是给SQL Server分配尽可能多的内存,而不产生页面调度。
1 根据物理内存合理规划SQL Server可用内存在大多数的生产环境中,服务器配备的物理内存是64MB~128MB,偶尔也有256MB的,只要配置恰当是完全可以满足SQL Server的内存需求的。
下表是笔者关于SQL Server内存分配的建议规划,供参考。
物理内存分配给SQL Server 设置值(单位:2KB)8MB 4MB 204816MB 8MB 409632MB 16~18MB 8192~921648MB 28~34MB 14336~1740864MB 40~46MB 20480~23552128MB 100~108MB 51200~55296256MB 216~226MB 110592~115712512MB 464~472MB 237568~241664以下是SQL Server内存选项(Memory)设置方法(1)从Microsoft SQL Server程序集中启动SQL Enterprise Manager;(2)从Server Manager窗口中选择“Server”菜单选项;(3)在“Server”菜单中选择“Configurations”选项;(4)在“Server Configuration”对话框中选择”Configuration”标签,Configuration窗口显示配置选项列表;(5)选中“Memory”项目,在“Current”栏填入新值;(6)停止并重新启动SQLServer服务,使设置生效。
2 合理扩充虚拟内存、增大SQL Server可用内存当SQL Server系统确实需要扩大可用内存时,应在磁盘空间充足的情况下扩充供虚拟内存,并相应增大SQL Server可用内存。
具体做法是,系统管理员首先扩充服务器的虚拟内存,然后再参考上表增大SQL Server可用内存,关键是要根据系统的负载情况综合决定是否扩充内存、优化配置。
3 使用tempinRAMSQL Server使用tempdb临时数据库作为一些查询连接操作时排序或创建临时表的工作空间。
将tempdb创建在RAM中可以使系统操作性能有较大提高,而且因为tempdb在每次重启动服务器时都重建,这样即使有非正常的关闭也是较为安全的,例如停电故障。
要将tempdb创建在RAM中,可以使用sp_configure进行设置,具体用法请参阅有关资料。
由于tempdbinRAM使用的内存是由系统从内存体单独分配的,与SQL Server的内存选项设置的可用内存池是分开的,使用tempdbin RAM将减少整个系统的可用内存,应根据SQL Server和服务器运行情况进行配置,否则就可能适得其反,影响系统性能。
另外,适当增加tempdb数据库空间,即使不使用tempdbin RAM,也可以提高数据库的运行速度。
4 注意事项(1)建议在生产环境中SQL Server不要设置小于32MB内存,而且数据库服务器上尽量不要运行其它应用程序;(2)扩充供虚拟内存、增大SQL Server可用内存,应考虑物理内存使用状况和磁盘空间许可情况;(3)在可能的情况下,要为系统留有部分额外的内存,这样在服务器上打开一个服务或添加一个进程且不改变SQL Server内存配置时,不致于使NT服务器的运行速度受到影响(变得很慢),一般认为最小为2MB最大为20MB。
四、巧用内存配置,解决统计服务器问题一单位的统计服务器投入使用后,运行速度较慢,经排查原因,发现SQLServer中的内存选项(Memory)仅为安装缺省值——16MB(而服务器有128MB的物理内存),在将内存值调整为100MB 时却误将其改成了1000MB,使得SQL Server服务不能启动,统计数据库打不开,也就不能再次进入SQL Enterprise Manager修改内存设置了。