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