我公司現在人事系統的數據庫差不我快3G了
運行半天後SQL服務會吃掉系統1900M內存
運行慢慢
請問有什麼好的方法解決不?
還有就是請問壓縮數據庫有什麼好處?
右擊數據庫---所有工作-----壓縮數據庫---->空間配置:2272MB,可用空間:0.00MB

解决方案 »

  1.   

    3G不算大,速度慢的话可能很多方面影响的。
    推荐一篇文章:http://www.chinahtml.com/databases/2/2006/SqlserveR-mssql11432786664013.shtml缩小日志文件,重建索引,删除不必要的内容。
    应用程序不好也很常见。
      

  2.   

    我正在做人员信息管理
    我想你们数据库里面肯定存有照片
    查询的时候你应该用的是SELECT * 而不是字段
    这样的话如果表有照片,那么就会查询照片,照片很大,肯定浪费性能了
    建议查询的时候显示指定列
    尽量不要查询照片
      

  3.   

    第二个问题应该是这样,微软帮助:Microsoft® SQL Server™ 2000 允许收缩数据库中的每个文件以删除未使用的页。数据和事务日志文件都可以收缩。数据库文件可以作为组或单独地进行手工收缩。数据库也可设置为按给定的时间间隔自动收缩。该活动在后台进行,并且不影响数据库内的用户活动。当使用 ALTER DATABASE AUTO_SHRINK 选项(或 sp_dboption 系统存储过程)将数据库设置为自动收缩,且数据库中有足够的可用空间时,则会发生收缩。但是,如果不能配置要删除的可用空间的百分比,则将删除尽可能多的可用空间。若要配置将删除的可用空间量,例如只删除数据库中当前可用空间的 50%,请使用SQL Server 企业管理器内的"属性"对话框进行数据库收缩。不能将整个数据库收缩到比其原始大小还要小。因此,如果数据库创建时的大小为 10 MB,后来增长到 100 MB,则该数据库最小能够收缩到 10 MB(假定已经删除该数据库中所有数据)。但是,使用 DBCC SHRINKFILE 语句,可以将单个数据库文件收缩到比其初始创建大小还要小。必须分别收缩每个文件,而不要试图收缩整个数据库。事务日志文件可在固定的边界内收缩。虚拟日志的大小决定可能减小的大小。因此,不能将日志文件收缩到比虚拟日志文件还小。另外,日志文件可以按与虚拟日志文件的大小相等的增量收缩。例如,一个初始大小为 1 GB 的较大事务日志文件可以包括五个虚拟日志文件(每个文件大小为 200 MB)。收缩事务日志文件将删除未使用的虚拟日志文件,但会留下至少一个虚拟日志文件。因为此示例中的每个虚拟日志文件都是 200 MB,所以事务日志最小只能收缩到 200 MB,且每次只能以 200 MB的大小收缩。若要让事务日志文件收缩得更小,可以创建一个更小的事务日志,并允许它自动增长,而不要创建一个较大的事务日志文件。在 SQL Server 2000 中,DBCC SHRINKDATABASE 或 DBCC SHRINKFILE 操作试图立即将事务日志文件收缩到所要求的大小(以四舍五入的值为准)。在收缩文件之前应截断日志文件,以减小逻辑日志的大小并将其标记为不包含逻辑日志任何部分的不活动的虚拟日志。