请问怎样有效减小一个数据库的大小

bcai 2001-03-20 02:26:00
因为这个库的两个文件太大,Mdf有2G多,连Ldf都有1G多了,有什么好办法吗?
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxdq 2001-04-03
  • 打赏
  • 举报
回复
同意楼上的观点!
leecooper0918 2001-03-25
  • 打赏
  • 举报
回复

我的看法,供参考
1:日志文件对你到底有没有作用?数据库有没有备份,要是备份了,就这么做
sp_detach_db 你的数据库名
手工清除日志文件
sp_attach_db 你的数据库名,数据库文件路径
这么做完后,SQL 会自动产生一个新的日志文件,然后检查你的数据库,看看
数据增长率设置的是否合理,默认是 10%,针对你具体业务需要自行调整

2: 设定计划定时压缩数据库,如果库中有临时表,视图等,写一个清理的
存储过程,定期执行 ;
3: 上面有朋友说的方法不太可行,建新库的方法不好,因为你的数据库很大会很费时,
并且索引,关系等都要重建





LaoZheng 2001-03-23
  • 打赏
  • 举报
回复
数据库的属性 Truncate log on checkPoint 和 Auto shrink是否为True
格利高里 2001-03-22
  • 打赏
  • 举报
回复
对于mdf数据库文件要看里面的内容有多少,也可以把不常用的历史数据从表里导出到文件,然后删掉记录,对于ldf日志文件,先做完全的日志备份,最后DBCC SHRINKDATABASE。
renzhm 2001-03-20
  • 打赏
  • 举报
回复
请问实际数据量是否有这么大?若实际数据就这么大,那没办法啦.else
begin
再创建一个空数据库,将表,视图,存储过程...分别import进去,看看有没有小?
然后把此数据库更名,(可不能简单的更改文件名哦,用系统存储过程,或备份再恢复)
end;
我出现过此问题:mdf 600M多,使用此方法后123M,此方法笨,但有效
数据库分析与设计——点菜管理信息系统 人们在总结信息资源开发、管理和服务的各种手段时,认为最有效的 是数据库技术。数据库的应用已越来越广泛。从小型的单项事务处理 系统到大型复杂的信息系统大都用先进的数据库技术来保持系统数据 的整体性、完整性和共享性。目前,一个国家的数据库建设规模(指 数据库的个数、种类)、数据库信息量的大小和使用频度已成为衡量 这个国家信息化程度的重要标志之一。   数据库设计是建立数据库及其应用系统的技术,是信息系统开发 和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用 环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够 有效地存储数据,满足各种用户的应用需求(信息要求和处理要 求)。这个问题是数据库在应用领域的主要研究课题。 按照规范设计的方法,考虑数据库及其应用系统开发全过程,将 数据库设计分为以下六个阶段:   · 需求分析   · 概念结构设计   · 逻辑结构设计   · 物理结构设计   · 数据库实施   · 数据库运行和维护 目前大多数酒店由于规模的限制,忽略了点菜系统的重要性,而 本系统专为具有一定规模和经济条件的大型酒店设计。通过集成从顾 客定桌、点菜、上菜到结帐等一系列功能,为每个环节明确分工,并 通过可视化的软件支持,有效减小了人为差错的概率,代之以高效、 便捷、准确的数字化服务系统,使酒店的管理更加规范化。
浅谈数据库系统优化 概要:数据库系统的优化可以有效提高系统的性能,微软的SQL Server数据库的优化是一个系统工程,需要从设计开始就进入优化程序。 数据库的性能的优化成了数据处理的一个很重要环节。系统的性能优化应该贯穿系统工作的整个生命周期,从开发开始直到系统最终下线,都应该不断的动态的优化并不断调整优化过程。基于SQL Server的数据库优化是指对数据库处理、存储、查询等进行调优的过程。 基于SQL Serve数据库的优化,应该从数据库设计的时候就做好优化打算,为后面系统正式投入运行后优化做好准备。其主要策略有: 1)调优数据库数据库性能的优化基础就是数据库的基本设计,如果设计端出了问题则对数据库的影响很大,也很有可能没有优化的必要。数据库的优化应该从数据库的设计开始,一般要找专业的性能优化专家根据系统的要求,对数据库采取合理的设计方案。数据库的设计主要包含两个部分,一个数据库存储分配的物理设计,一个是数据流量分配的逻辑设计。物理设计主要包括数据对象在物理介质上存储分布等各个方面,所要注意的问题就是在不同的存储介质上所放的数据块的大小,这个直接关系到数据的存储速度。而逻辑设计主要包括在数据库的索引、数据库模式、视图等。数据库的设计是基础,如果在设计初始出了问题,则不可能通过单纯的优化来完成数据库的正常工作,所以这是数据库调整和优化的保障。 2)优化应用程序。网络中数据的查询和传输速度及效率不仅仅在于服务器,而是和多种因素相关联的,根据网络上的相关统计,对和数据库相关的各个外部因素进行调整,同样可以达到数据库性能优化的目的。相关因素主要包括,网络、操作系统、硬件、数据库参数等各个方面。而这因素大都设计硬件设备,其它软件方面主要是应用程序的优化,包括数据库的SQL语句和系统开发语言的优化。在数据库的应用中,大部分是通过SQL语句来实现的,因此SQL语句的优化对数据系统优化起到很重要的作用。 大多数针对系统应用程序的优化也都集中在查询语句的处理上,而SQL语句的优化则可集中到合理利用临时数据表及索引。充分利用临时数据表,及建立合理的索引、调整优化SQL语句,等可以减少客户访问数据库的次数,减小CPU的占用时间,提高内存的利用率,减小系统响应时间,缩短用户等待时间等都有很重要的意义。 3)调整内存分配。内存对于数据存储和数据处理速度的影响很大,所以有效增大内存也是提高数据库系统性能的最有效方式,但是目前受制于硬件设备的影响,不可能对内存进行大量的扩充。对内存使用的原则就是优先给系统认为必要应用程序分配较大的内存,对数据库的优化就是优先分配足够内存给数据库系统,但是这也取决于操作系统对各个应用程序的分配。CPU在处理数据的时候,先从内存中读取数据,如果内存够大,则数据一次调入内存的数据量就较大,可以有效减少磁盘访问次数,内存的分配是在软件系统运行的时候进行配置的,所以其调整和优化应该安排在检查数据库文件的磁盘输入/输出之前。 4)调整磁盘I/O。数据库的存储和查询最终都得经过磁盘,所以对物理存储介质的读写是对数据库性能影响最大的,磁盘I/O操作也是消耗资源最大的一种操作。对磁盘I/O进行优化的主要目的和方法是尽量减少磁盘的读写次数,加大数据的一次处理量,提高数据存储的空间分配及管理。 1 基于SQL语句的优化器 优化器的类型。数据库在被访问的时候,都是执行SQL语句,在执行之前系统需要确定访问方式及执行的过程,在执行的时候是否使用数据索引,是否使用临时数据表,临时数据表有没有存储,存储在哪个物理介质模块上了。如果使用索引,使用哪些索引,在需要对多个数据表进行查询的时候采取的是哪个连接方式等,而这引起是由SQL Server数据库的优化器来完成的。对优化器的分类,主要包括两种情况,一种是基于代价的优化器,一种是基于规则的优化器。 1)基于代价的优化器。所谓基于代价的优化器是指,系统根据目前数据库的信息,对数据库的查询及操作的开资做一个判断,然后选出一个开资相对较小的优化方案。这种优化器主要是根据数据库相关的服务器的因素来进行分配处理的,包括缓存大小和策略,I/O 大小等。 2)基于规则的优化器。基于规则的优化器主要是根据制定的一些规则和一些优化原则来执行过程和访问控制方式。相对来说要比基于代价的优化器要更容易实现,不需要对硬件进行操作,根据规则和优化原则来制定各个访问控制策略的优先级别。这种优化器对数据库的分布存储及硬件设施没有特殊要求,只是根据规则进行优化,对数据索引、数据表等各个方面不关心,所以基于规则的优化器也只能是粗话型的优化,很难从根本上解决SQL Server数据库的优化问题。 2 结论 数据库系统的优化可以有效提高系统的性能,微软的SQL Server数据库的优化是一个系统工程,需要从设计开始就进入优化程序。 参

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧