SQLSERVER如何配置内存提高性能配置方案

合集下载

理解内存----优化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在正常操作期间收缩它的使用量。

sql server构架参数

sql server构架参数

sql server构架参数SQL Server 架构参数SQL Server 是一种关系型数据库管理系统,广泛应用于企业级应用程序和数据分析。

在设计和管理 SQL Server 数据库时,合理设置架构参数是非常重要的。

架构参数可以影响数据库的性能、安全性和可扩展性。

本文将介绍几个常见的 SQL Server 架构参数及其作用。

1. 最大服务器内存(max server memory)最大服务器内存是指 SQL Server 实例在内存中可以使用的最大内存量。

合理设置最大服务器内存可以避免内存过度分配,导致系统性能下降。

建议根据服务器的实际物理内存和其他应用程序的内存需求来设置最大服务器内存。

2. 最小服务器内存(min server memory)最小服务器内存是指 SQL Server 实例在内存中保留的最小内存量。

这个参数的设置可以避免系统在内存不足的情况下频繁地进行内存分配和释放操作,提高系统的稳定性和性能。

3. 并行查询阈值(max degree of parallelism)并行查询阈值是指 SQL Server 实例同时执行查询的最大线程数。

并行查询可以提高查询速度,但过多的并行查询可能会导致系统负载过高。

建议根据服务器的处理能力和查询负载来设置并行查询阈值,以平衡查询性能和系统负载。

4. 最大工作线程数(max worker threads)最大工作线程数是指 SQL Server 实例同时可以处理的最大线程数。

这个参数的设置可以影响到并发连接数和查询的并发执行能力。

建议根据系统的并发连接数和查询负载来设置最大工作线程数,以避免系统因线程过多而导致的性能下降。

5. 锁超时时间(lock timeout)锁超时时间是指当一个事务在等待锁的时间超过设定的时间后,系统会自动放弃该事务并回滚。

合理设置锁超时时间可以避免长时间的锁等待,提高系统的并发能力。

建议根据系统的并发事务和锁等待时间来设置锁超时时间。

浅谈优化SQLServer服务器内存配置

浅谈优化SQLServer服务器内存配置

内存是影响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 2048 16MB 8MB 4096 32MB 16~18MB 8192~9216 48MB 28~34MB 14336~17408 64MB 40~46MB 20480~23552 128MB 100~108MB 51200~55296 256MB 216~226MB 110592~115712 512MB 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服务,使设置⽣效。

SQL Server使用2G以上内存设置方法

SQL Server使用2G以上内存设置方法

SQL Server使用2G以上内存设置方法摘要在32位的Windows 2003 Server中,进程内存被限制为2GB,而目前数据库服务器基本上都配置有4G内存甚至更多,因此如何有效利用多出的内存,是数据库服务器性能优化的重要部分。

本文简要介绍了PAE和AWE的原理以及配置方法,使得32位的环境下可以突破2G这一瓶颈,从而提升数据库服务器的效率。

1.AWE简介目前随着硬件成本的降低,一般的服务器具有4G以上的内存。

可能很多人认为,如果使用Winows 2003 Server系统,最高可以支持4G内存。

其实这么说并不准确,应该说32位机支持2^32=4G 的寻址空间,但实际上默认应用程序只能占用其中的2G内存,这一限制是32位操作系统架构引起的。

传统意义上的32bit操作系统使用32bit的内存地址,这样寻址范围就已经被限制为4GB——4G也就是2的32次方,然而通常操作系统的设计上为了安全性的考虑,应用程序和内核所处的内存地址空间是互相独立的,也就是说,应用程序和内核各自能访问2GB的内存空间。

虽然不同的操作系统实现具有不同的值,不过多数现在的操作系统在这一点上都很一致。

为了让程序突破2GB寻址的限制,近代Windows NT核心提供了一个变通的方案:4GB内存调整优化技术,通过这个技术,可以将用户模式的寻址空间扩大至3GB,这样核心寻址空间便被限制为1GB了,需要超大内存容量的应用程序可以从这个特性中获得性能改善,如SQL Server数据库这种类型。

要使用这个4GB内存优化技术,用户需要在Windows Server操作系统的启动参数中加入/3GB 开关。

然而让用户模式程序能多寻址1GB毕竟还算是治标不治本,于是Microsoft 还在自己的操作系统中通过PAE 提高IA32 处理器处理大于 4 GB 的物理内存的能力。

下列操作系统可以通过PAE 来利用大于 4 GB 的物理内存: Microsoft Windows 2000 Advanced Server●Microsoft Windows 2000 Datacenter Server●Microsoft Windows Server 2003 Enterprise Edition●Microsoft Windows Server 2003 Datacenter EditionPAE,即物理地址扩展(Physical Address Extension),可使得x86 的计算机能够支持 4 GB 以上物理内存。

SQLServer数据库性能调优技巧

SQLServer数据库性能调优技巧

SQLServer数据库性能调优技巧第一章:SQLServer数据库性能调优概述SQLServer是一种常用的关系型数据库管理系统,在大型企业和云计算环境中广泛应用。

为了确保数据库的高性能和可靠性,进行数据库性能调优非常重要。

本章将介绍SQLServer数据库性能调优的概念和目标。

1.1 数据库性能调优的概念数据库性能调优是指通过分析和优化数据库的结构、查询、索引、存储和配置等方面的问题,以提高数据库系统的效率和性能。

优化数据库性能可以显著提升数据的访问速度、减少系统响应时间和提高数据库的处理能力。

1.2 数据库性能调优的目标数据库性能调优的主要目标是提高数据库的运行效率和用户的体验,具体目标包括:- 提高数据的访问速度:通过合理的查询优化和索引设计,加快数据的检索速度。

- 减少系统响应时间:通过调整数据库配置、优化SQL 查询和提高硬件性能等措施,缩短系统响应时间。

- 提高数据库的处理能力:通过合理的分区设计、并行处理和负载均衡等措施,提高数据库的并发处理能力。

第二章:SQLServer数据库性能调优基础在进行SQLServer数据库性能调优之前,有几个基础概念需要了解,包括数据库的结构、查询执行计划和索引等。

2.1 数据库的结构SQLServer数据库由多个表组成,每个表由多个行和列组成。

表有一定的关系,通过主键和外键来建立关联。

了解数据库的结构对于进行性能调优非常重要。

2.2 查询执行计划查询执行计划是SQLServer数据库执行查询语句时的执行路径和操作过程的详细描述。

通过分析查询执行计划,可以找到潜在的性能问题,并进行相应的优化。

2.3 索引索引是一种特殊的数据库对象,用于加快查询速度。

常见的索引类型包括聚集索引、非聚集索引和全文索引等。

合理设计索引可以提高查询的性能。

第三章:SQLServer数据库性能调优技巧本章将介绍一些常用的SQLServer数据库性能调优技巧,包括查询优化、索引优化、配置优化和硬件优化等。

sql server analysis service 内存不足的解决方法

sql server analysis service 内存不足的解决方法

sql server analysis service 内存不足的解决方法【最新版3篇】目录(篇1)1.SQL Server Analysis Service 内存不足的问题2.解决内存不足的方法3.总结正文(篇1)一、SQL Server Analysis Service 内存不足的问题在使用 SQL Server Analysis Service 时,可能会遇到内存不足的问题,从而导致服务无法正常运行。

这种情况下,我们需要寻找合适的解决方案来解决内存不足的问题。

二、解决内存不足的方法1.调整服务启动参数在启动 SQL Server Analysis Service 时,可以设置一些参数来调整内存的使用。

例如,可以设置 MAXDOP(最大并行度)参数来限制同时运行的查询数量,从而减少内存的使用。

2.增加内存缓存在内存不足的情况下,可以尝试增加内存缓存来提高 SQL Server Analysis Service 的运行效率。

这可以通过修改注册表中的相应键值来实现。

例如,可以修改"MemoryPoolSize"键值来增加内存缓存大小。

3.优化查询检查您的查询语句,确保它们是高效的。

避免使用子查询、多表连接等可能导致内存使用增加的查询方式。

同时,可以考虑将大表分割成小表,以减少查询时的内存占用。

4.升级硬件如果内存不足的问题仍然存在,可以考虑升级硬件,增加服务器的内存容量。

这可以有效地解决内存不足的问题,提高 SQL Server Analysis Service 的运行效率。

5.联系技术支持如果以上方法都无法解决内存不足的问题,建议联系 SQL Server 的技术支持,寻求专业帮助。

三、总结当遇到 SQL Server Analysis Service 内存不足的问题时,可以通过调整服务启动参数、增加内存缓存、优化查询、升级硬件等方式来解决。

目录(篇2)1.SQL Server Analysis Service 内存不足的问题2.解决内存不足的方法3.总结正文(篇2)一、SQL Server Analysis Service 内存不足的问题SQL Server Analysis Service 是 SQL Server 的一个重要组件,它可以帮助用户对数据进行分析和挖掘。

SQL SERVER 如何配置内存提高性能配置方案

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 服务器进程内存的一大部分已调出。

修改注册表优化sqlserver内存

修改注册表优化sqlserver内存

SQL Server数据库是运行在windows操作系统上的,优化Windows内存性能可以提高SQL Server数据库的工作效率。

可以通过修改注册表来优化Windows的内存性能。

打开注册表编辑器(不要告诉我不知道怎么打开注册表吧^_^),找到注册表的如下位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
这里有一组可以优化内存性能的注册表项,如下图所示:
下面介绍两个优化内存性能的注册表项:
1)DisablePagingExecutive:设置禁用内存页面调度。

在默认情况下,此注册表项被设置为0,此时Windows会定期把内存中的片断写入硬盘,下次再需要此数据时,再从硬盘中将它们读取到内存中,这样会浪费系统资源。

可以将该选项的值设置为1,禁止内存页面调度。

2)LargeSystemCache:启用这个系统缓冲会占用较多的物理内存,使得能被程序利用的可用物理内存减少。

该选项的默认值为1,如果是SQL Server数据库服务器,建议将该选项值设为0,以减少文件系统的缓存,将内存更多地分配给SQL Server。

SQLserver服务器大内存配置(转)

SQLserver服务器大内存配置(转)

SQLserver服务器⼤内存配置(转)以前的服务器,由于内存的价格过⾼,⼀般配的内存不是很多,超过4G的当然就不多了.现在的服务器,配置超过4G就很多,在配作SQL数据库服务器后,很多的⼈只选默认的设置,虽然可以正常使⽤,可是却把⼤量的内存给浪费(SQL服务使⽤的内存不会超过1.8G),系统的性能也不能因为的⼤内存⽽提升,这是很可惜的. 在本⽂中,我⼤致讲⼀下配置的过程.(如果服务器的内存少于4G,不⽤配置)(⽹上完全讲这个的,没有见过,随⼿写⼀个) 1.打开系统中的⼤内存⽀持(windows) 若要启⽤ Windows 2000 Advanced Server 或 Windows 2000 Datacenter Server ⽀持 ⼤于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 2000 Advanced Server" /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 2000 Advanced Server" /fastdetect /pae 这个改好后,要重启系统的 2.启⽤锁定内存页选项(windows) 启⽤锁定内存页选项 在"开始"菜单上单击"运⾏"⼦菜单,然后在"打开"框中键⼊"gpedit.msc"。

SQLServer数据库的性能优化

SQLServer数据库的性能优化

SQLServer数据库的性能优化随着企业数据量不断增长,数据库系统已经成为企业不可或缺的一部分。

随之而来的问题是,在应对海量数据的同时,如何保证数据库系统的高效运行,以满足业务需要。

而数据库性能优化就是为了解决这一问题而存在的。

但是,由于SQLServer数据库系统具有复杂性和高度的可配置性,使得数据库性能优化成为了非常复杂的工作。

如果我们没有足够的知识与技巧,很容易导致不经意间影响数据库系统的正常工作。

本文将介绍SQLServer数据库性能优化的关键点。

1. 容量规划在数据库性能优化的开始阶段,我们需要明确数据库的容量规划,该规划应该包含这些内容:- 确认数据库的大小和增长趋势;- 选择合适的服务器硬件配置;- 选择合适的存储设备和存储配置;- 确认数据库备份和还原方案。

当确认好这些规划后,我们可以愉快地开启数据库系统的优化之旅了。

2. 关注I/O操作I/O操作是数据库性能优化中最重要的因素之一。

在SQLServer 中,我们需要通过以下几点来关注IO操作:- 确认合适的RAID配置;- 选择合适的磁盘类型;- 确认合适的磁盘块大小。

对于I/O操作的优化,我们可以在两个方面进行,一个是硬件方面,另一个则是SQLServer配置。

硬件方面,我们需要考虑到一下几个方面:- 升级服务器硬件设备;- 将磁盘储存设备升级为SSD硬盘;- 增加内存的容量。

对于SQLServer的配置,则可以通过以下几点进行:- 合适的磁盘和RAID配置;- 合适的max degree of parallelism 配置;- 合适的max server memory配;3. 使用合适的索引在SQLServer中,索引的作用是加速数据查询和数据修改,从而提高整个数据库系统的运行效率。

而在使用索引时,我们需要特别注意这些要素:- 创建索引可以减少IO操作;- 索引优化的关键点是选择合适的包含数据条目最多的列;- 在大型多元素表中使用Clustered Index;- 对于包含大量重复元素的列,可以直接采用非聚集索引。

给sqlserver配置内存参数

给sqlserver配置内存参数

给sqlserver配置内存参数操作环境:windows server 2003 R2 Enterprise Edition SP1 + 4G 内存 + Sqlsever 2005在以上环境中,运⾏公司的ERP数据服务,sqlserver进程的内存占⽤在稳定期⼀直是1600到1700之间,再⾼也没有超过1700,然后ERP客户端⽤户经常发⽣保存单据⼏分钟都不成功的情况,具体原因不明,但重启sqlserver服务就恢复正常,因此怀疑是内存过⼩的原因。

以下步骤实现增加sqlserver内存分配量:⾸先,在sqlserver management studio 中,在数据库的服务器属性中(⾮数据库实例的属性),是有内存配置选项的,其中最⼤服务器内存默认值是⼀个很⼤很⼤的值,但实际上根本没有起作⽤,像我上⾯说的⼀样,我服务器上的sqlserver进程占⽤的内存从来没有超过1700。

也可以通过以下语句实现配置:sp_configure 'show advanced options', 1RECONFIGUREGOsp_configure 'awe enabled', 1RECONFIGUREGOsp_configure 'min server memory', 1024RECONFIGUREGOsp_configure 'max server memory', 3072RECONFIGUREGO但是如果没有在操作系统的启动配置⽂件⾥(boot.ini)修改相关配置(添加/PAE),上⾯的设置是没有起作⽤的。

所以要使上⾯的设置可⽤,需要完成下⾯的两个必要条件:⼀、编辑 Boot.ini ⽂件,请按照下列步骤操作:1. 单击“开始”,指向“设置”,然后单击“控制⾯板”。

2. 在“控制⾯板”中,双击“系统”。

3. 单击“⾼级”选项卡,然后单击“启动和故障恢复”下的“设置”。

大内存SQL Server数据库的加速剂

大内存SQL Server数据库的加速剂

大内存SQL Server数据库的加速剂为数据库配置比较大的内存,可以有效提高数据库性能。

由于数据库在运行过程中,会在内存中划出一块区域来作为数据缓存。

通常状况下,用户拜访数据库时,数据先会被读取到这个数据缓存中。

当下次用户还需要拜访这个数据时,就会从这个数据缓存中读取。

由于在数据缓存中读取数据要比在硬盘上读取数据快几百倍。

所以扩大数据库服务器内存,可以有效提高数据库性能,特殊是操作大型数据库时效果越发显然。

但是,现在企业中普遍采纳的数据库服务器都是32位的操作系统。

而这个32位的操作系统却有最大内存的用法限制。

通常状况下,标准的32位地址最多可以采纳4GB的内存。

若数据库管理员想让数据库系统采纳更多的内存来提高数据库的性能,则就需要举行额外的配置。

下面笔者就介绍两种常用的配置方式,让SQLServer数据库服务器支持大内存,让其成为数据库的加速剂。

一、让数据库应用程序支持3GB的内存空间。

虽然操作系统支持4GB内存。

可是,这并不会所有给数据库等应用程序用法。

默认状况下,在32位操作系统中,将有2GB的内存空间是为操作系统所保留的。

即使没实用完,其他应用程序也是不能够染指的。

而包含SQL Server数据库在内的全部应用程序,只能过采纳剩余的2GB内存空间。

但是,在实际应用中,操作系统往往用不着多大2G的内存。

按照笔者的阅历,普通只要为操作系统保留1G的内存已经足够其用法。

只要没有病毒等不良因素作怪,这个内存不会被彻低适用。

如此的话,应用程序可以采纳的内存空间就会多达3G,比原先整整多出一个G来。

要实现这个改变,其实很容易。

在Windows 操作系统中,有一个BOOT启动配置文件。

为了让数据库服务器支持3GB的用户模式进程空间,必需在这个配置文件中,加入一个/3gb的参数,然后重新启动操作系统即可。

这么设置之后,应用程序就可以寻址3GB的进程地址空间,而为操作系统保留1GB的内存空间。

有时候,这个小小的配置可以在很大程度上提高数据库的性能。

SQL Server内存性能调整推荐配置(Ver 0.2)

SQL Server内存性能调整推荐配置(Ver 0.2)

SQL Server内存性能调整推荐配置(Ver 0.2)本文试图给出各种内存情况下的SQL Server内存推荐配置。

分别针对物理内存2G以内,4G及4G以上的情况。

典型操作系统为Windows Server 2003 Enterprise Edition 32bit。

SQL Server是2000 SP4以上版本。

配置SQL Server内存之前需要根据物理内存情况修改操作系统启动文件。

如果使用的是64位的操作系统,不需要配置/3GB、/PAE和AWE的相关设置。

一、物理内存小于2G的情况。

物理内存小于2G的情况下不需要进行SQL Server手动内存配置,使用SQL Server的缺省配置就可以。

操作系统也不用做改动。

在SQL Server 2005的官方文档中,对“最大服务器内存(MB)”有如下描述最大服务器内存(MB)指定在SQL Server 启动和运行时它可以分配的内存最大量。

如果知道有多个应用程序与SQL Server 同时运行,并且要保证这些应用程序有足够的内存运行,则可以将此配置选项设置为特定值。

如果这些应用程序(如Web 服务器或电子邮件服务器)只是按需请求内存,则不必设置该选项,因为SQL Server 将会根据需要向它们释放内存。

但是,应用程序通常在启动时使用全部可用内存,并且也不会根据需要请求更多内存。

如果以这种方式运行的应用程序与SQL Server 同时运行在同一台计算机上,则请设置该选项的值,保证应用程序所需的内存不会由SQL Server 来分配。

能够以上描述可以看出SQL Server 2005可以自动申请内存,也可以在其它应用程序需要内存的时候释放内存,跟操作系统配合得很好,所以不需要手工对内存再进行配置。

对于SQL Server 2000的情况,暂时没有找到有关的表述。

根据以往经验,跟2005类似。

二、物理内存为4G及4G以上的情况。

由于32位Windows的限制,SQL Server最多能使用1.75G的内存。

SQL SERVER 新中大性能调校

SQL SERVER 新中大性能调校

SQL SERVER 新中大性能调整技术中心2011-5-251.32/64位问题数据库机器原则上都是上到64位,就是操作系统是64位数据库也是64位的。

因为在32位下,Sql Server 利用内存的能力比较差,有没有打开3GB选项的情况下,SQL SERVER 只能最多利用2GB的内存。

当系统在线人数比较多的时候,会导致系统频繁的换页。

严重的影响了数据库的性能。

解决方案:✧首选升级到64位,包括机器和数据库系统。

这样机器可以充分发挥出性能,SQLSERVER也可以充分利用系统资源。

提高系统的吞吐量。

✧如果实在不能升级到64位,考虑打开SQL SERVER的AWE。

可以按照以下的操作步骤打开AWE⏹本地组策略修改【开始】->【启动】,输入gpedit.msc,打开“本地组策略编辑器”(图2),找到“用户权限分配”节点,找到“锁定内存页”这一项,右键,属性,打开“锁定内存页属性”窗口(如图3),然后添加用户,把启动sqlserver的用户添加进去(图4),保险起见可以也可以同时加入administrator图:2图:3图:4⏹数据库-右键-属性,打开“服务器属性”窗口(图1),选择“内存”选项,“使用AWE分配内存”项打勾,【最大服务器内存】设置大一点,如果是16G内存的话,机器又只是作为数据库服务器可以考虑分配13-14G的内存。

图:1⏹检查是否成功开启了AWE【开始】->【启动】输入perfmon 添加计数器,主界面是右键【添加计数器】在target pages这个数 * 8K /1024 是不是大概与你设置AWE的大小类似。

如果类似了,就不用重启机器了。

如果还是远远小于你设置AWE的内存值,就说明没有设置成功,请重启机器。

2.设置数据库的快照级别,假设使用的数据库是NG001,则设置的方法是:Alter database ng0001 set read_committed_snapshot on;注意的是,这个操作要没有其它的SESSION连接到这个NG0001数据库,最好可以停下IIS和重启下数据库进行设置。

提高SQLSERVER性能方法大全

提高SQLSERVER性能方法大全

提高SQL SERVER性能方法1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。

3、没有创建计算列导致查询不优化。

4、内存不足5、网络速度慢6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。

9、返回了不必要的行和列10、查询语句不好,没有优化可以通过如下方法来优化查询 :1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。

数据量(尺寸)越大,提高I/O越重要.2、纵向、横向分割表,减少表的尺寸(sp_spaceuse)3、升级硬件4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。

注意填充因子要适当(最好是使用默认值0)。

索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段5、提高网速;6、扩大服务器的内存,Windows 2000和SQL server 2000能支持4-8G的内存。

配置虚拟内存:虚拟内存大小应基于计算机上并发运行的服务进行配置。

运行 Microsoft SQL Server? 2000 时,可考虑将虚拟内存大小设置为计算机中安装的物理内存的 1.5 倍。

如果另外安装了全文检索功能,并打算运行 Microsoft 搜索服务以便执行全文索引和查询,可考虑:将虚拟内存大小配置为至少是计算机中安装的物理内存的 3 倍。

将 SQL Server max server memory 服务器配置选项配置为物理内存的 1.5 倍(虚拟内存大小设置的一半)。

7、增加服务器 CPU个数;但是必须明白并行处理串行处理更需要资源例如内存。

使用并行还是串行程是MsSQL自动评估选择的。

SQL性能优化_大内存设置

SQL性能优化_大内存设置

SQL性能优化----系统大内存设置注意:sql2000需要打sql2000SP4和sql awe补丁,sql2005和sql2008不需要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-08备份\PBOCJRTDB-back 如图:点击确定开始备份,完成后确定完成备份,如图:以上备份过程可以省略1.1.2. 数据库补丁升级1.1.2.1. SQL SP4补丁升级从网站下载SQL SP4补丁,本文以下载SQL2KSP4.exe]为例:SQL SP4补丁解压数据库服务器:双击文件,跟据提示点击下一步,如图:SQL SP4补丁升级数据库服务器:进入C:\SQL2KSP4目录,如图:双击Setup.bat文件。

如图:跟据提示点击下一步,如图点击“是”如图:点击下一步,如图:点击下一步,如图:选择“忽略安全威胁警告,保留密码为空”点击确定(此处以SA用户没有密码为例)如图:点击确定,如图:点击“确定”,完成SQL SP4补丁升级,如图:1.1.2.2. SQL AWE补丁升级从网站下载SQL AWE补丁,本文以下载[SQL2000-KB899761-v8.00.2040-x86x64-CHS.exe]为例数据库服务器:双击如图:点击下一步,如图:选择“我同意”点击下一步,如图:点击下一步,如图:点击下一步,如图:点击下一步,如图:点击完成,完成AWE升级。

sqlserver性能调优常用方法

sqlserver性能调优常用方法

sqlserver性能调优常⽤⽅法1.检查数据库空间使⽤情况,查看哪些表占⽤了⽐较⼤的磁盘空间执⾏语句如下:select ,SUM(p.reserved_page_count) as reserved_page_count,SUM(ed_page_count) as used_page_count,SUM(casewhen(p.index_id<2) then (p.in_row_data_page_count+p.lob_used_page_count+p.row_overflow_used_page_count)else p.lob_used_page_count+p.row_overflow_used_page_countend) as DataPages,SUM(casewhen (p.index_id<2) then row_countelse0end) as rowCountsfrom sys.dm_db_partition_stats p inner join sys.objects oon p.object_id=o.object_idgroup by order by rowCounts descView Code2.通过活动监视器查看性能消耗通过磁盘IO,CPU占⽤时间,逻辑读写的次数来判断哪些语句消耗性能⽐较⼤3.通过执⾏时间,磁盘IO和执⾏计划查看sql语句情况,包括编译执⾏时间,索引扫描查找,读写等等查看sql语句的执⾏时间和表扫描,逻辑读写情况的语句:SET STATISTICS TIME ONSET STATISTICS IO ON预读:在查询计划⽣成的过程中,⽤统计信息去硬盘读取数据到缓存中,读⼀次就是读了⼀页数据物理读:查询计划⽣成好以后,如果缓存缺少所需要的数据,再从硬盘⾥读取缺少的数据到缓存⾥,读⼀次就是读了⼀页数据逻辑读:直接从缓存中读取数据,读⼀次就是读了⼀页数据,可以通过索引减少逻辑读的次数因为物理读需要从硬盘从读取数据,会增加IO读开销,所以尽量减少物理读4.处理内存占⽤过⾼⽅法1.增加服务器内存2.设置sqlserver占⽤服务器内存的⼤⼩3.清空sqlserver占⽤缓存4.查找占⽤内存⽐较⼤的sql语句进⾏优化,这个是主要办法5.重启服务器(清空占有的缓存,关掉线程,但是只能解决⼀时问题)。

SQLServer程序性能调优

SQLServer程序性能调优

(一)SQ1SerVer程序性能调优之硬件配置为了防止你的服务器硬件给SQ1SerVer应用软性拖后腿,首先让我们简单看一下一些常见的硬件选择和调优问题。

选择硬件为你的SQ1SerVer应用选取最佳硬件要参照很多因素,诸如数据库的规模、用户的数量,数据库被使用的方式(O1TP或O1AP)等等。

虽然没有成功的公式来估算服务器硬件需求,最好的办法就是在开发阶段提前开始测试你的应用。

尽管许多有经验的DBA可以对你所需要的最佳硬件给出合理的估测,只有通过实际的测试才可确信满足你的应用需要的硬件是什么。

在考察服务器硬件时,需要牢记以下硬件选择方面的事项:CPU:要购买可以扩展CP1J数量的服务器。

例如,通过测试结果你认为单CPU服务器就够用,那么你应该购买具备至少两个CPU安装空间的服务器,哪怕现在空着另一个CPU插槽的位置。

预留下将来升级扩展的空间。

内存:它可能是对SQ1SerVer的性能影响最大的硬件部分。

理想情况下,你的整个数据库应该可以fitinto 内存。

不幸的是,这一般是不可能的。

最低要求是,内存的大小应该能够容纳你的数据库中最大表,如果经济上可以接受,为服务器配备其能够支持大小的内存,换句话说,内存多了没坏处。

I/O子系统:它对SQ1SerVer性能的影响仅次于内存,也非常重要。

最低要求是,使用硬件RAID系统来运行你的数据库。

大概来说,你应该购买多个小硬盘,而不是一个大硬盘。

在阵列中的硬盘数量越多,就可以获得更快的I/O。

网络连接:在你的数据库服务器上,至少应该有一个百兆网卡,而且它应该连接到一个交换机上。

理想情况下,服务器应该有两块网卡,通过全双工方式连接到交换机。

调优服务器如果没有正确的配置和优化,最贵的服务器硬件未必具有最好的性能。

我曾经遇到过很多硬件相关的性能问题,其多数原因是驱动未正确安装。

这些硬件性能相关的问题中很多往往难于跟踪和解决。

一般来说,应该让一个有经验的技术高手来确保硬件被正确安装和配置。

SQL Server数据库性能优化

SQL Server数据库性能优化

SQL Server数据库性能优化SQL Server 数据库是许多组织和企业中最常用的关系型数据库之一。

它被广泛应用于数据存储和管理,但随着数据库规模和负载的增加,性能问题可能出现。

本文将探讨一些 SQL Server 数据库性能优化的策略,并提供一些建议和实践方法来提高数据库性能。

1. 使用适当的索引:索引是优化查询性能的重要因素之一。

通过为常用的查询添加适当的索引,可以提高查询的速度。

然而,索引的设计需要谨慎考虑。

过多或不必要的索引可能会导致额外的存储和维护开销。

在选择索引列时,经常使用用于过滤、排序和连接的列,并避免在频繁更新的列上创建索引。

2. 慎重使用数据库范围的约束:数据库的完整性约束如主键、外键和唯一约束是必要的,但过多或复杂的约束可能会影响性能。

当插入大量数据时,暂时禁用约束可以提高性能,之后再重新启用。

3. 使用合理的数据类型:选择正确的数据类型对于提高数据库的存储效率和查询性能至关重要。

使用合理的数据类型可以节省存储空间,并减少磁盘 I/O 操作的次数。

4. 对查询语句进行优化:优化查询语句是提高数据库性能的重点。

确保使用正确的查询语法,避免在WHERE 子句中进行非索引列的计算,避免重复计算和不必要的 JOIN 操作。

使用EXPLAIN 等工具来分析和调试查询计划,并根据需要更改查询策略。

5. 定期进行数据库维护:进行定期的数据库维护活动可以帮助提高性能。

这包括索引重建、数据库压缩、统计信息更新和日志清理等操作。

定期的数据库备份和恢复测试也是数据库性能优化的重要组成部分。

6. 有效管理数据库日志文件:SQL Server 使用事务日志(或事务日志文件)来记录数据库中发生的更改。

大型事务日志文件可能导致性能下降。

通过定期备份、压缩和定期清理事务日志文件,可以最大程度地减少数据库维护操作对性能的影响。

7. 并行处理和资源管理:将适当的操作并发处理可以提高查询性能。

有效管理系统资源,如 CPU、内存和磁盘 I/O,可以防止资源竞争和瓶颈。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如有你有帮助,请购买下载,谢谢!
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 服务器进程内存的一大部分已调出。

这可能导致性能下降。

持续时间: 0 秒。

工作集(KB): 61600,已提交(KB): 1689612,内存使用率: 3%。

上海孚盟软件有限公司
万辉邦
2011.11
1页。

相关文档
最新文档