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