SQL Server2000刪除日志釋放磁盤空間
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
在SQL Server2000中要?jiǎng)h除日志釋放磁盤空間得分兩步進(jìn)行:
·執(zhí)行backup log語(yǔ)句來(lái)刪除不活動(dòng)日志,但此時(shí)磁盤空間并未釋放; ·收縮數(shù)據(jù)庫(kù)釋放未使用的磁盤空間; 下邊詳細(xì)說(shuō)明: ①.執(zhí)行backup log語(yǔ)句刪除不活動(dòng)日志 執(zhí)行sql語(yǔ)句:backup log Northwind with no_log,不活動(dòng)日志將被刪除,下圖為sql語(yǔ)句執(zhí)行前后數(shù)據(jù)庫(kù)大?。?BR> ![]() ![]() 但在資源管理器中查看,你會(huì)發(fā)現(xiàn)剩余的磁盤空間并沒(méi)有多出來(lái),原因是日志刪除了,但占用的空間未被釋放,所以得再收縮下數(shù)據(jù)庫(kù)來(lái)釋放磁盤空間。 說(shuō)明:這個(gè)步驟也有人是執(zhí)行"dump transaction Northwind with no_log",但SQL Server2000幫助文件中說(shuō)dump transaction和backup log是同義的,保險(xiǎn)起見(jiàn)這兩句可都執(zhí)行一下。 SQL Server2000幫助相關(guān)說(shuō)明: 引用內(nèi)容 DUMP DATABASE 和 DUMP TRANSACTION 語(yǔ)句與 BACKUP DATABASE 和 BACKUP LOG 語(yǔ)句同義。在以后的版本中可能會(huì)取消對(duì) DUMP DATABASE 和 DUMP TRANSACTION 語(yǔ)句的支持。 考慮刪除所有對(duì) DUMP DATABASE 的引用,并替換為對(duì) BACKUP DATABASE 的引用??紤]刪除所有對(duì) DUMP TRANSACTION 的引用,并替換為對(duì) BACKUP LOG 的引用。 ②.收縮數(shù)據(jù)庫(kù)釋放未使用的磁盤空間 收縮數(shù)據(jù)庫(kù)會(huì)刪除每個(gè)文件中未使用的頁(yè),以釋放出磁盤空間。右鍵單擊數(shù)據(jù)庫(kù),選擇"所有任務(wù)→收縮數(shù)據(jù)庫(kù)",點(diǎn)確定,你會(huì)看到剩余磁盤空間多了很多出來(lái),數(shù)據(jù)庫(kù)大小也變化了: ![]() 說(shuō)明:第②步操作也可以通過(guò)執(zhí)行sql語(yǔ)句"dbcc shrinkdatabase(Northwind,1) "來(lái)進(jìn)行,但實(shí)際發(fā)現(xiàn)執(zhí)行非常慢!后測(cè)試可使用dbcc shrinkfile(n)語(yǔ)句,速度快很多,n的值可執(zhí)行'select * from sysfiles"來(lái)獲取! 總結(jié)t-sql: 程序代碼 /*第一步:查詢出文件編號(hào),修改@fileid值*/ select * from sysfiles /*第二步:刪除日志并釋放空間*/ declare @table nvarchar(50),@fileid int set @table = 'Northwind' set @fileid = 2 dump transaction @table with no_log backup log @table with no_log dbcc shrinkfile(@fileid) 該文章在 2011/3/12 23:59:36 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |