--日誌文件收縮至多少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.在數據庫中執行上面的存儲過程名字爲:usp_p_delDBLog數據庫
2.而後再執行 EXEC dbo.usp_p_delDBLog @DBLogSise = 0 (收縮至多少M)日誌