你曾經有在執行SQL的時候,數據庫報事務日志已滿,然后執行報錯。然后糾結於怎么刪除數據庫日志,搗鼓半天嗎,現在就提供兩種刪除日志文件的方法,希望能夠幫到你!
方法一:手工操作
1.數據庫->右鍵->屬性->選項-恢復模式->由完成切換成簡單
2.數據庫->右鍵->任務->收縮-文件->由完成切換成簡單->文件類型->日志->將文件收縮到
方法二:存儲過程代替手工操作
--日志文件收縮至多少M DECLARE @DBLogSise AS INT SET @DBLogSise=0 --查詢出數據庫對應的日志文件名稱 DECLARE @strDBName AS NVARCHAR(500) DECLARE @strLogName AS NVARCHAR(500) DECLARE @strSQL AS VARCHAR(1000) SELECT @strLogName=B.name, @strDBName=A.name FROM master.sys.databases AS A INNER JOIN sys.master_files AS B ON A.database_id = B.database_id WHERE A.database_id=DB_ID() SET @strSQL=' --設置數據庫恢復模式為簡單 ALTER DATABASE ['+@strDBName+'] SET RECOVERY SIMPLE; --收縮日志文件 DBCC SHRINKFILE ('''+@strLogName+''' , '+CONVERT(VARCHAR(20),@DBLogSise)+'); --恢復數據庫還原模式為完整 ALTER DATABASE ['+@strDBName+'] SET RECOVERY FULL ' exec(@strSQL)
1.在數據庫中執行上面的存儲過程
2.然后再執行 EXEC dbo.usp_p_delDBLog @DBLogSise = 0 (收縮至多少M)
示例存儲過程下載
下一篇將為大家帶來:附加沒有日志文件的數據庫方法