sql2000超大mdf文件处理方法.doc_第1页
sql2000超大mdf文件处理方法.doc_第2页
sql2000超大mdf文件处理方法.doc_第3页
sql2000超大mdf文件处理方法.doc_第4页
sql2000超大mdf文件处理方法.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

sql2000如何完美压缩.mdf文件2010-02-08 16:15:02 来源:潇段情恒 【大 中 小】 评论:0 条 我要投稿 我要收藏买空间、服务器就上主机网(CNIDC.COM) 虚拟主机评测+IDC导航=主机之家。大家都用过企业管理器中的-“收缩数据库”,里面的功能的确可以收缩数据库的日志文件(.ldf)和数据文件(.mdf),但都会发现同样的问题,在收缩“数据文件”(.mdf)时根本收缩不了多少。最多截段自动增长部份的,没有根本释放在日常操作中删除数据库的沉冗空间。上述应该是很多人遇到过的,笔者也千试万试试出来的方法,为了确定您的数据库安全,在执行下例的操作前,请先备份你的数据库。1.首先你要找到你的数据库最大的表,一般是数目最大的表,如果不清楚,请在查询分析器查询:DBCC SHOWCONTIG接着用 sp_spaceused 表 来查询reserved 的值和 data 的值 的差异可看来此表比较沉冗。2.复制你的转移旧表的数据到新表;SELECT * INTO 新表 FROM 旧表(如果你数据比较多,可能你会看到待压缩的数据库对应的mdf和ldf文件大小在猛增,没事在复制表)注:此命令不能把数据库结结构完全复制,需要您重新把旧表与新表对应的主键,自动增长值,索引,默认值等修改。3.更新一下;DBCC UPDATEUSAGE (0) 4.把旧表删除,然后把新表的名字改成旧表的名字,这些可以到企业管理器里操作(注意重命名名时的提示);5.收缩mdf文件,也是最想要实现的一步;DBCC SHRINKDATABASE(库名)DBCC shrinkfile(2,0)DBCC UPDATEUSAGE (0)/*2 - 要收缩的文件的fileid,对应sysfiles中的fileid。0 - 收缩到初始大小*/(注:红字是收缩你的数据库mdf文件,时间可能有点长;蓝字是收缩ldf文件;紫字是更新一下,非重要)完工,这时候你应该可以看到数据库的mdf文件大小变化差异,不说几十M,笔者的数据库就从6G收缩到1G左右,再次执行查询一些数据,明显快多了。目前一客户的数据库文件(.MDF)占用空间超过有48G,切增长速度很快。已经对日志文件进行了压缩。在查询分析器中用 exec sp_spaceused 语句进行查询,输出结果如下:(头疼的问题)database_name database_size unallocated_spaceNSMIS 48770.00M 1370.97 MBreserved data index_size unused48504160 KB 7017272 KB 270776 KB 41216112 KB-1、用BACKUP LOG database WITH NO_LOG清除日志把数据库属性中的故障还原模型改为“简单”可以大大减慢日志增长的速度。 如果把还原模型调到简单,这样就不支持时间点还原了,但是日志文件会很小,如果数据比较重要推荐还是把数据库的还原模型调为完全用BACKUP LOG database WITH NO_LOG命名后,会截断不活动日志,不减小物理日志文件的大小,但逻辑日志会减小,收缩数据库后会把不活动虚拟日志删除来释放空间,不会损坏数据。如果日志被截断并收缩数据库后,就不能直接用最近的一个全库备份做时间点还原,建议立即备份数据库,以防万一。2、sql server运行中,是否能删除主数据库事务日志文件步骤如下:(1)、分离数据库企业管理器数据库右击你要删除日志的数据库所有任务分离数据库(2)、然后删除日志文件(3)、然后再附加数据库企业管理器数据库右击数据库所有任务附加数据库这时候只附加。mdf就可以了。3、压缩SQL数据库及日志的详细方法SQL Server 2000基础教程压缩数据库数据库在使用一段时间后,时常会出现因数据删除而造成数据库中空闲空间太多的情况,这时就需要减少分配给数据库文件和事务日志文件的磁盘空间,以免浪费磁盘空间。当数据库中没有数据时,可以修改数据库文件属性直接改变其占用空间,但当数据库中有数据时,这样做会破坏数据库中的数据,因此需要使用压缩的方式来缩减数据库空间。可以在数据库属性选项中选择“Auto shrink”选项,让系统自动压缩数据库,也可以用人工的方法来压缩。人工压缩数据库有以下两种方式:1、用Enterprise Manager 压缩数据库在Enterprise Manager 中在所要压缩的数据库上单击右键,从快捷菜单中的“所有任务(All Tasks)”中选择“Shrink Database(压缩数据库)”选项,就会出现如图6-10 所示的对话框。可以在图6-10 所示的对话框中选择数据库的压缩方式,也可以选择使用压缩计划或压缩单个文件单击图6-10 中的“Files”按钮,会出现如图6-11 所示的压缩数据库文件对话框,可以针对每个数据库文件进行不同的压缩设置。单击图6-10 中的“Change” 按钮,会出现如图6-12 所示的压缩计划编辑对话框,可以指定压缩计划的执行方式。单击图6-12 中的“Change” 按钮,会出现如图6-13 所示的循环工作计划编辑对话框,可以编辑计划执行的周期或时间点。设置完成后单击“OK” 按钮就开始压缩数据库,在压缩结束后会显示一个压缩情况信息框。2、用Transact-SQL 命令压缩数据库可以使用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 命令来压缩数据库。其中DBCC SHRINKDATABASE 命令对数据库进行压缩,DBCC SHRINKFILE 命令对数据库中指定的文件进行压缩。(1) DBCC SHRINKDATABASEDBCC SHRINKDATABASE 命令语法如下:DBCC SHRINKDATABASE (database_name , target_percent, NOTRUNCATE TRUNCATEONLY )各参数说明如下:target_percent 指定将数据库压缩后,未使用的空间占数据库大小的百分之几。如果指定的百分比过大,超过了压缩前未使用空间所占的比例,则数据库不会被压缩。并且压缩后的数据库不能比数据库初始设定的容量小。NOTRUECATE将数据库缩减后剩余的空间保留在数据库,中不返还给操作系统。如果不选择此选项,则剩余的空间返还给操作系统。TRUNCATEONLY将数据库缩减后剩余的空间返还给操作系统。使用此命令时SQL Server 将文件缩减到最后一个文件分配,区域但不移动任何数据文件。选择此项后,target_percent 选项就无效了。例6-14:压缩数据库mytest 的未使用空间为数据库大小的20%。dbcc shrinkdatabase (mytest, 20)运行结果如下:DBCC execution completed. If DBCC printed errormessages, contact your system administrator.(2) DBCC SHRINKFILEDBCC SHRINKFILE 命令压缩当前数据库中的文件。其语法如下:DBCC SHRINKFILE ( file_name file_id , target_size , EMPTYFILE NOTRUNCATE TRUNCATEONLY )各参数说明如下:file_id指定要压缩的文件的鉴别号(Identification number, 即ID)。文件的ID 号可以通过 FILE_ID()函数或如本章前面所讲述的Sp_helpdb 系统存储过程来得到。target_size指定文件压缩后的大小。以MB 为单位。如果不指定此选项,SQL Server 就会尽最大可能地缩减文件。EMPTYFILE指明此文件不再使用,将移动所有在此文件中的数据到同一文件组中的其它文件中去。执行带此参数的命令后,此文件就可以用ALTER DATABASE 命令来删除了。 其余参数NOTRUNCATE 和TRUNCATEONLY 与DBCC SHRINKDATABASE命令中的含义相同。 例6-15: 压缩数据库mydb 中的数据库文件mydb_data2 的大小到1MB。 use mydb dbcc shrinkfile (mydb_data2, 1)企业管理器里面的方法:1、打开企业管理器2、打开要处理的数据库3、点击最上面菜单工具SQL查询分析器,打开SQL查询分析器4、在输入窗口里面输入:Code:DUMP TRANSACTION 数据库名 WITH NO_LOGBACKUP LOG 数据库名 WITH NO_LOGDBCC SHRINKDATABASE(数据库名)点击绿色的小三角(或按F5)执行查询,等状态栏提示处理完成即可!程序里面的方法:压缩数据库日志-1.清空日志exec(DUMP TRANSACTION +dbname+ WITH NO_LOG)-2.截断事务日志:exec(BACKUP LOG +dbname+ WITH NO_LOG)-3.收缩数据库文件(如果不压缩,数据库的文件不会减小exec(DBCC SHRINKDATABASE(+dbname+)4、减

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论