1: SQL 本来就要占用不少内存
2:代码中少用临时表,游标之类的东东。
3:
数据库性能优化概述
性能调节的目的是通过将网络流通、磁盘 I/O 和 CPU 时间减到最小,使每个查询的响应时间最短并最大限度地提高整个数据库服务器的吞吐量。为达到此目的,需要了解应用程序的需求和数据的逻辑和物理结构,并在相互冲突的数据库使用之间(如联机事务处理 (OLTP) 与决策支持)权衡。对性能问题的考虑应贯穿于开发阶段的全过程,不应只在最后实现系统时才考虑性能问题。许多使性能得到显著提高的性能事宜可通过开始时仔细设计得以实现。为最有效地优化 Microsoft® SQL Server™ 2000 的性能,必须在极为多样化的情形中识别出会使性能提升最多的区域,并对这些区域集中分析。虽然其它系统级性能问题(如内存、硬件等)也是研究对象,但经验表明从这些方面获得的性能收益通常会增长。通常情况下,SQL Server 自动管理可用的硬件资源,从而减少对大量的系统级手动调节任务的需求(以及从中所得的收益)。主题 描述 
设计联合数据库服务器 描述如何通过将处理负荷分摊在多个服务器间而达到高性能级别(如大型 Web 站点等所需的性能级别)。 
数据库设计 描述数据库设计如何成为提高总体性能的最有效途径。数据库设计包括逻辑数据库架构(如表和约束)和物理特性(如磁盘系统、对象位置和索引)。 
查询优化 描述正确设计的查询(用于应用程序)如何显著提高性能。 
应用程序设计 描述正确设计的用户应用程序如何显著提高性能。应用程序设计包括事务边界、锁定和批处理的使用。 
优化实用工具和工具性能 述及 Microsoft SQL Server 2000 提供的实用工具和工具的一些可用选项,描述这些选项如何突出说明提高这些工具的性能的方法,以及同时运行这些工具和应用程序的效果。 
优化服务器性能 描述如何更改操作系统(Microsoft Windows NT®、Microsoft Windows® 95、Microsoft Windows 98 或 Microsoft Windows 2000)和 SQL Server 的设置以提高总体性能。 

解决方案 »

  1.   

    企业管理器-->右键你的实例(就是那个有绿色图标的)-->属性-->内存-->设置
      

  2.   

    sqlserver企业管理气----右击服务器名-----属性----内存----可以调整内存的大小
      

  3.   

    关于MSSQL占用过多内存的问题摘:
     
    经常看见有人问,MSSQL占用了太多的内存,而且还不断的增长;或者说已经设置了使用内存,可是它没有用到那么多,这是怎么一回事儿呢?
    首先,我们来看看MSSQL是怎样使用内存的。
    最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给清掉。所以一般我们在看statistics io的时候,看到的physics read都是0。
    其次就是查询的开销,一般地说,hash join是会带来比较大的内存开销的,而merge join和nested loop的开销比较小,还有排序和中间表、游标也是会有比较大的开销的。
    所以用于关联和排序的列上一般需要有索引。
    再其次就是对执行计划、系统数据的存储,这些都是比较小的。我们先来看数据缓存对性能的影响,如果系统中没有其它应用程序来争夺内存,数据缓存一般是越多越好,甚至有些时候我们会强行把一些数据pin在高速缓存中。但是如果有其它应用程序,虽然在需要的时候MSSQL会释放内存,但是线程切换、IO等待这些工作也是需要时间的,所以就会造成性能的降低。这样我们就必须设置MSSQL的最大内存使用。可以在SQL Server 属性(内存选项卡)中找到配置最大使用内存的地方,或者也可以使用sp_configure来完成。如果没有其它应用程序,那么就不要限制MSSQL对内存的使用。然后来看查询的开销,这个开销显然是越低越好,因为我们不能从中得到好处,相反,使用了越多的内存多半意味着查询速度的降低。所以我们一般要避免中间表和游标的使用,在经常作关联和排序的列上建立索引。
      

  4.   

    1.我建议你去做数据库性能优化
    2.升级你的电脑,提升CPU的速度,加大内存
      

  5.   

    现在的内存已经是1G啦,用的是hp原装服务器啊.
      

  6.   

    你在企业管理器中修改它的内存,不过SQL SERVER里有一个参数的值你要更改.
      

  7.   

    http://211.82.240.10/study/database/sql/sqlwj/38.htm
      

  8.   

    我以前经常会出现这样的情况,但是当我打了sp3以后就不会了,你去打个sql2k sq3看看。
      

  9.   

    找到mssqlserver占用MEMORY的原因是问题的关键,你可以通过MSSQLSERVER的企业管理器和一些教本SP_WHO2,SP_LOCK,SYSPROCESSES和MS SQLSERVER profiler来跟踪。
    当然优化T-SQL语句和定期优化INDEX是首先要做的,如果I/O是瓶颈你可以将数据库的恢复模式设定为简单,已减少对I/O的读写。.....