************************************************************ * Sql Server 2008 R2 清空數據庫中l(wèi)df日志文件 * 將Whir_InternalSystem替換為您要操作的數據庫即可 ************************************************************ USE [master] ALTER DATABASE [Whir_InternalSystem] SET RECOVERY SIMPLE WITH NO_WAIT --設置為簡單模式,只有在簡單模式下才可以刪除 ALTER DATABASE [Whir_InternalSystem] SET RECOVERY SIMPLE GO USE [Whir_InternalSystem] DECLARE @logname VARCHAR(150) SELECT @logname = NAME FROM sys.database_files WHERE NAME LIKE'%log' DBCC SHRINKFILE(@logname, 11, TRUNCATEONLY) GO USE [master] ALTER DATABASE [Whir_InternalSystem] SET RECOVERY FULL WITH NO_WAIT --刪除完畢之后,恢復為完整模式 ALTER DATABASE [Whir_InternalSystem] SET RECOVERY FULL GO
以上經測試過可用。但是還是產生1400多M的數據。 最好的方法還是下面這個:我己測試過.沒有問題.
1. 找到待清理數據庫的實體文件,在硬盤中的路徑,例如:C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\,其中dayang.mdf為數據文件, dayang_log.ldf為日志文件。最終目標是:清除LDF文件釋放硬盤空間 2. 在企業(yè)管理器中右鍵點擊該數據庫→任務→分離。 提示:分離數據庫有風險,一定要在分離前進行數據庫備份!!! 3. 確保沒有用戶對該數據庫進行操作,如果有人使用,點擊清除,之后確定。分離數據庫完成。(注意:在執(zhí)行分離數據庫之前,建議拔掉SQL SERVER數據庫服務器的網線,以保障后續(xù)過程不會有其它進程操作數據庫。否則,一旦在下述配置過程中,有進程訪問數據庫,將造成數據庫崩潰,請?zhí)貏e注意) 4. 查看數據庫實體文件,可以看到dayang.mdf,dayang_log.ldf的修改時間為當前時間。 5. 將dayang_log.ldf文件重命名。這里將其擴展名后面輸入數字123。 6. 在企業(yè)管理器中,右鍵點擊數據庫→附加。 7.點擊添加按鈕,選中剛才分離出來的dayang.mdf文件,如下圖所示。日志文件狀態(tài)消息提示找不到。刪除日志所在行,點擊確定。附加數據庫完成。
|