在程序組中,展開(kāi)“Sqlserver”運(yùn)行“查詢(xún)分析器”。輸入用戶名、密碼。

目前創(chuàng)新互聯(lián)建站已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、莊河網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
在工具欄的數(shù)據(jù)庫(kù)列表中選擇要操作的數(shù)據(jù)庫(kù)。
輸入:select * from sysfiles 執(zhí)行,可以看到下面的內(nèi)容,記住其中的fileid字段的內(nèi)容,也就是1或2,標(biāo)識(shí)數(shù)據(jù)庫(kù)的數(shù)據(jù)文件或日志文件,下面的命令要用到這里的值。
輸入:dbcc?shrinkdatabase('?庫(kù)名'?),收縮數(shù)據(jù)庫(kù),結(jié)果如下:可以看到壓縮后的數(shù)據(jù)庫(kù)文件的尺寸。
輸入:dbcc?shrinkfile(2,?0)執(zhí)行,然后輸入dbcc?shrinkfile(1,?0)執(zhí)行。兩句命令中的第一個(gè)參數(shù)就是前面看到的FileID的值,表示了一個(gè)是日志文件,一個(gè)是數(shù)據(jù)文件。第二個(gè)參數(shù)0,表示收縮到初始大小。
輸入:dbcc updateusage (0),執(zhí)行更新操作,完工!更新后可以跟之前的數(shù)據(jù)文件比對(duì)一下了,會(huì)有相對(duì)較大的尺寸上的優(yōu)化了。
壓縮數(shù)據(jù)文件最大的好處就是節(jié)約磁盤(pán)空間。這個(gè)東西對(duì)于中小型數(shù)據(jù)庫(kù)而言,意義可能體現(xiàn)的并不明顯,但是如果放在大型或者超大型數(shù)據(jù)庫(kù)上,那么價(jià)值就非常可觀了。
例如某大型數(shù)據(jù)庫(kù),備份文件在沒(méi)有壓縮前,大小可能在500G左右,壓縮后大小大約在70G左右,可節(jié)約430G,而一個(gè)大型的IT企業(yè),這種數(shù)據(jù)庫(kù)還并不是核心庫(kù),核心庫(kù)會(huì)更大,并且還會(huì)伴隨多種高可用技術(shù)(更多的冗余)。例如騰訊或者阿里巴巴或者百度,那么多的業(yè)務(wù),全國(guó)各地總服務(wù)器加起來(lái)可能上百臺(tái)甚至上千臺(tái),按300臺(tái)DB Server計(jì)算,如果單臺(tái)能節(jié)省430G存儲(chǔ),300臺(tái)Server可以節(jié)約125TB的存儲(chǔ),這是非常可觀的一筆開(kāi)銷(xiāo)。
具體方法有3種。
方法一:
第一步:
backup
log
database_name
with
no_log
或者
backup
log
database_name
with
truncate_only
--
no_log和truncate_only是在這里是同義的,隨便執(zhí)行哪一句都可以。
第二步:
1.收縮特定數(shù)據(jù)庫(kù)的所有數(shù)據(jù)和日志文件,執(zhí)行:
dbcc
shrinkdatabase
(database_name,[,target_percent])
--
database_name是要收縮的數(shù)據(jù)庫(kù)名稱(chēng);target_percent是數(shù)據(jù)庫(kù)收縮后的數(shù)據(jù)庫(kù)文件中所要的剩余可用空間百分比。
2.收縮一次一個(gè)特定數(shù)據(jù)庫(kù)中的數(shù)據(jù)或日志文件,執(zhí)行
dbcc
shrinkfile(file_id,[,target_size])
--
file_id是要收縮的文件的標(biāo)識(shí)
(id)
號(hào),若要獲得文件
id,請(qǐng)使用
file_id
函數(shù)或在當(dāng)前數(shù)據(jù)庫(kù)中搜索
sysfiles;target_size是用兆字節(jié)表示的所要的文件大小(用整數(shù)表示)。如果沒(méi)有指定,dbcc
shrinkfile
將文件大小減少到默認(rèn)文件大小。兩個(gè)dbcc都可以帶上參數(shù)notruncate或truncateonly,具體意思查看聯(lián)機(jī)幫助.
方法二:
第一步:
先備份整個(gè)數(shù)據(jù)庫(kù)以備不測(cè)
。
第二步:
備份結(jié)束后,在query
analyzer中執(zhí)行如下的語(yǔ)句:
exec
sp_detach_db
yourdbname,true
--卸除這個(gè)db在mssql中的注冊(cè)信息
第三步:
到日志的物理文件所在的目錄中去刪除該日志文件或者將該日志文件移出該目錄
第四步:
在query
analyzer中執(zhí)行如下的語(yǔ)句:
exec
sp_attach_single_file_db
yourdbname,'
d:\mssql\data\yourdbname_data.mdf
'
--以單文件的方式注冊(cè)該db,如果成功則mssql將自動(dòng)為這個(gè)db生成一個(gè)500k的日志文件。
方法三:
1.
進(jìn)入企業(yè)管理器,選中數(shù)據(jù)庫(kù),比如demo
2.
所有任務(wù)-分離數(shù)據(jù)庫(kù)
3.
到數(shù)據(jù)庫(kù)文件的存放目錄,將muonline_log.ldf文件刪除,以防萬(wàn)一,你可以拷出去
4.
企業(yè)管理器-附加數(shù)據(jù)庫(kù),選muonline,這個(gè)時(shí)候你會(huì)看見(jiàn)日志文件這項(xiàng)是一個(gè)叉,不要緊,繼續(xù),此時(shí)數(shù)據(jù)庫(kù)就會(huì)提示你該數(shù)據(jù)庫(kù)無(wú)日志是否創(chuàng)建一個(gè)新的,確定就是了。
5.
記得數(shù)據(jù)庫(kù)重新附加后用戶要重新設(shè)置一下。
如果以后,不想要它變大:
sql2000下使用:
在數(shù)據(jù)庫(kù)上點(diǎn)右鍵-屬性-選項(xiàng)-故障恢復(fù)-模型-選擇-簡(jiǎn)單模型。
或用sql語(yǔ)句:
alter
database
數(shù)據(jù)庫(kù)名
set
recovery
simple
本文名稱(chēng):sqlserver壓縮,sqlserver壓縮備份報(bào)錯(cuò)
網(wǎng)站網(wǎng)址:http://chinadenli.net/article18/dsepegp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、電子商務(wù)、網(wǎng)站維護(hù)、手機(jī)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)