sql2000如何完美压缩.mdf文件
大家都用过企业管理器中的--“收缩数据库”,里面的功能的确可以收缩数据库的日志文件(.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左右,再次执行查询一些数据,明显快多了。
关键词:sql2000,压缩.mdf文件
相关阅读
- 01-06mssql2000 Log.LDF日志文件丢失的解决方案
- 09-21win7 下先装SQL2005 后装SQL2000 正确连接方法
- 01-21Sql2000和Sql2005共存安装详细过程
- 08-14Win 2003自带防火墙设置图解
- 07-18MySql5.0 Table错误:is marked as crashed and last (automatic?) repair failed
- 12-15jwgkvsq.vmx病毒清除方法(附jwgkvsq.vmx专杀工具)
- 03-03microsoft office Enterprise 2007在安装过程中出错怎么办?
- 07-22Win2008 PHP 配置环境搭建 教程
- 06-05东芝L700在windows XP下安装显卡驱动提示硬件不兼容的解决办法
- 11-20SQL2000安装失败的解决方法
阅读本文后您有什么感想? 已有 人给出评价!
用户评论
热门评论
最新评论
相关软件
热点图文
- 04-04在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。
- 04-06SQL2005无法启动SQL Server 请求失败或服务未及时响应等问题的解决方案
- 03-16一个小时成功安装SQL Server 2012图解教程
- 04-17SQL Server 2012安装介绍 SQL 2012安装出错的解决方案
- 03-05连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 08-22win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程
- 12-112000w数据怎么打开?bak文件怎么打开?
- 01-23错误 2812: 未能找到存储过程 'master.dbo.xp_fixeddrives'
- 04-05将SQL Server2005数据库还原或恢复到SQL Server2000数据库中
- 11-24sql server中将一个数据库的表复制到另外一个数据库的方法