數(shù)據(jù)庫(kù)用戶drop后怎么釋放表空間 如何清空sql數(shù)據(jù)庫(kù)的日志文件?
SQLSERVER的數(shù)據(jù)庫(kù)日志占用了大量空間。提供以下三種方法來(lái)清除無(wú)用的數(shù)據(jù)庫(kù)日志文件:1.打開(kāi)查詢分析器,輸入命令backuplogdatabase _ name with no _ log2,然
SQLSERVER的數(shù)據(jù)庫(kù)日志占用了大量空間。提供以下三種方法來(lái)清除無(wú)用的數(shù)據(jù)庫(kù)日志文件:
1.打開(kāi)查詢分析器,輸入命令backuplogdatabase _ name with no _ log2,然后打開(kāi)企業(yè)管理器——右鍵單擊要壓縮的數(shù)據(jù)庫(kù)——所有任務(wù)——收縮數(shù)據(jù)庫(kù)——收縮文件——選擇日志文件——在收縮模式下選擇收縮到xxm。這里,將給出允許收縮的最小m數(shù)。直接輸入這個(gè)號(hào)碼確認(rèn)就可以了。方法2:設(shè)置檢查點(diǎn),自動(dòng)截?cái)嗳罩尽UG闆r下,SQL數(shù)據(jù)庫(kù)的收縮并不能大大減小數(shù)據(jù)庫(kù)的大小。它的主要功能是縮小日志大小,這應(yīng)該定期進(jìn)行,以避免數(shù)據(jù)庫(kù)日志過(guò)大。1.將數(shù)據(jù)庫(kù)模式設(shè)置為簡(jiǎn)單模式:打開(kāi)SQL企業(yè)管理器。單擊Microsoft SQL Server- gt SQL Server組-gt雙擊打開(kāi)您的服務(wù)器-gt雙擊打開(kāi)數(shù)據(jù)庫(kù)目錄-gt選擇您的數(shù)據(jù)庫(kù)名稱(如用戶數(shù)據(jù)庫(kù)cwbase1) - gt右鍵選擇屬性-gt選擇選項(xiàng)-gt選擇 "簡(jiǎn)單 "在恢復(fù)模式下。然后點(diǎn)擊確定保存。2.右鍵單擊當(dāng)前數(shù)據(jù)庫(kù),查看所有任務(wù)中正在收縮的數(shù)據(jù)庫(kù)。一般情況下,其中的默認(rèn)設(shè)置不需要調(diào)整。3.收縮數(shù)據(jù)庫(kù)完成后,建議將數(shù)據(jù)庫(kù)屬性重置為標(biāo)準(zhǔn)模式。操作方法與第一點(diǎn)相同,因?yàn)槿罩就且恍┊惓G闆r下恢復(fù)數(shù)據(jù)庫(kù)的重要依據(jù)。3.通過(guò)SQL收縮日志將代碼復(fù)制到查詢分析器。然后修改三個(gè)參數(shù)(數(shù)據(jù)庫(kù)名、日志文件名和目標(biāo)日志文件的大小)并運(yùn)行。@ maxminute,@ newsizeintusetablename-要操作的數(shù)據(jù)庫(kù)名稱# 39tablename _ log # 39,-log文件名@MaxMinutes10,要設(shè)置的日志文件的大小(m)-setup/@ # 39 original size of # 39DB _ Name()# 39 logis # 39 convert(varchar(30),@ original size)# 398 kpagesor # 39 convert(varchar(30),(@ original size * 8/1024))# 39MB #(dummycolumne()# 39 with truncate _ ONLY # 39 dbccshrinkfile(@ logical filename,@NewSize)EXEC(@TruncLog)(mi,@StartTime,GETDATE())()和(@ original size * 8/1024)gt @ @ counter 0 while((@/16)和(@Counterlt50000)
)BEGIN-updateinsertdummytranvalues(# 39 fill log # 39)@ Counter 1 end exec(@ TruncLog)end select # 39 finalsizeof # 39 db _ name()# 39 logis # 39 CONVERT(VARCHAR(30),Size)# 398 kpagesor # 39 CONVERT(VARCHAR(30),(size * 8/1024)) # 39mb #方法4:刪除日志文件。這種有一定的風(fēng)險(xiǎn),因?yàn)閟qlserver的日志文件不是立即寫入數(shù)據(jù)庫(kù)主文件,如果處理不當(dāng),會(huì)造成數(shù)據(jù)丟失。1.請(qǐng)?jiān)诓僮髑皵嚅_(kāi)所有數(shù)據(jù)庫(kù)連接。2.數(shù)據(jù)庫(kù)分離:企業(yè)管理器。gt;服務(wù)器- gt;數(shù)據(jù)庫(kù)- gt;cwbase 1- gt;右鍵單擊- gt;數(shù)據(jù)庫(kù)分離。數(shù)據(jù)庫(kù)分離后,cwbase1數(shù)據(jù)庫(kù)被刪除,但數(shù)據(jù)文件和日志文件被保留。3.刪除日志物理文件,然后附加數(shù)據(jù)庫(kù):enterprise manager- gt;服務(wù)器- gt;數(shù)據(jù)庫(kù)- gt;右鍵單擊- gt;附加數(shù)據(jù)庫(kù)。此方法生成新的日志。注意:推薦第一種方法。操作前,請(qǐng)確保所有操作員已推出系統(tǒng)并斷開(kāi)數(shù)據(jù)庫(kù)。在進(jìn)行上述操作之前,請(qǐng)做好數(shù)據(jù)備份!1.sqlserver2005 clear log語(yǔ)句dumptransaction數(shù)據(jù)庫(kù)名稱withno_logbackuplog數(shù)據(jù)庫(kù)名稱
1.使用free命令檢查當(dāng)前的內(nèi)存使用情況。
已用空閑共享緩沖區(qū)總數(shù)cach:16621896 8967952 7653944 0 212352 8377276-/buffers/cach:378324 16243572Swap:10241428 010241428#解釋一下# total : ;在用了多大?#有多少?#中多個(gè)進(jìn)程共享的總內(nèi)存是多少?# Buffers/cach:16621896 579592 16042304 0 268 308708-/buffers/cach:270616 16351280Swap:10241428 0 10241428
4.對(duì)比步驟1和3中的free命令,很明顯used(減少)和free(增加)對(duì)應(yīng)的是Mem部分,緩存被清空。