sql2000如何完美压缩.mdf文件
大家都用过企业管理【yè guǎn lǐ】💒器中的【qì zhōng de】--“收缩数据库🌫”,里面的功能的🛶确可以【què kě yǐ】收缩数据库的【jù kù de】🍫日志文【rì zhì wén】件🐠(.ldf)和数据文件🐠(.mdf),但都会发现同样的问题【tí】,在收缩“数据文件🐠”(.mdf)时根本🏀收缩不🔶了多少【le duō shǎo】。最多截段自动【duàn zì dòng】增长部【zēng zhǎng bù】🕔份的【fèn de】,没有根🌅本释放在日常【zài rì cháng】⏭操作中删除数据库的【jù kù de】🍫沉冗空🐗间🥒。
上述应该是很多人遇到过的,笔者也【bǐ zhě yě】千试万试试出来的方法⛷,为了确😙定您的🚢数据库【shù jù kù】👺安全【ān quán】,在执行👸下例的【xià lì de】🦃操作前【cāo zuò qián】,请先备份你的数据库【shù jù kù】👺。
1.首先你🐗要找到你的数🚫据库最大的表💀,一般是【yī bān shì】数目最大的表💀,如果不清楚,请在查【qǐng zài chá】👃询分析【xún fèn xī】器查询【qì chá xún】:
DBCC SHOWCONTIG
接着用【jiē zhe yòng】 sp_spaceused 表🎯 来查询🀄reserved 的值和【de zhí hé】 data 的值 的差异🌃可看来此表🎯比较沉【bǐ jiào chén】冗。
2.复制你的转移旧表的数据到新表;
SELECT * INTO 新表【xīn biǎo】🤑 FROM 旧表
(如果你数据比较多,可能你会看到💁待压缩【dài yā suō】🕉的数据【de shù jù】库对应【kù duì yīng】的mdf和ldf文件大【wén jiàn dà】小在猛【xiǎo zài měng】📭增🐻,没事在🏽复制表)
注:此命令【cǐ mìng lìng】不能把数据库结结构【jié jié gòu】完全复制💨,需要您【xū yào nín】重新把🙇旧表与新表对🤯应的主🚞键,自动增【zì dòng zēng】长值【zhǎng zhí】,索引,默认值🎼等修改【děng xiū gǎi】✒。
3.更新一下;
DBCC UPDATEUSAGE (0)
4.把旧表【bǎ jiù biǎo】删除💷,然后把🚹新表的🤙名字改成旧表的名字,这些可【zhè xiē kě】以到企业管理器里操作🛠(注意重【zhù yì chóng】命名名【mìng míng míng】⬛时的提【shí de tí】示);
5.收缩🚡mdf文件【wén jiàn】,也是最想要实✡现的一【xiàn de yī】步;
DBCC SHRINKDATABASE('库名【kù míng】🌾')
DBCC shrinkfile(2,0)
DBCC UPDATEUSAGE (0)
/*
2 -> 要收缩【yào shōu suō】的文件的fileid,对应【duì yīng】🔥sysfiles中的✂fileid。
0 -> 收缩到初始大🤼小【xiǎo】
*/
(注【zhù】:红字是收缩【shōu suō】你的数据😍库mdf文件【wén jiàn】,时间可📽能有点长;蓝字是【lán zì shì】🆘收缩【shōu suō】ldf文件【wén jiàn】;紫字是更新一【gèng xīn yī】♟下🍠,非重要)
完工【wán gōng】,这时候👪你应该可以看【kě yǐ kàn】🥒到数据【dào shù jù】库的mdf文件大🦏小变化【xiǎo biàn huà】💡差异🧤,不说几【bú shuō jǐ】十🎢M,笔者的数据库就从6G收缩到1G左右,再次执【zài cì zhí】行查询一些数【yī xiē shù】据,明显快🙎多了。
关键词🐊:sql2000,压缩【yā suō】.mdf文件
阅读本文后您有什么感想? 已有 人给出评价!
- 1
- 1
- 1
- 1
- 1
- 1