我的服务器空间有限,我必须定期删除交易。 此外,我使用下面的查询来回答此 StackOverFlow 问题:How do you clear the SQL Server transaction log?
USE db;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE db
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (db_Log, 1);
GO
-- Reset the database recovery model.
ALTER DATABASE db
SET RECOVERY FULL;
GO
但是,我希望这个简单的查询更加先进并且符合以下条件。
db_Log
中剩余10%的可用空间时( 100 mb可用的 900 mb)答案 0 :(得分:1)
这只是XYProblem。问题不是事务日志的大小,而是您没有备份事务日志并想知道为什么事务日志在增长。它正在增长,因为您没有对其进行备份。
您需要添加代理任务来定期创建事务日志备份,或更改恢复模型。考虑到您的声明“实际上事务日志不是很重要” 我建议使用后者,然后设置文件的最大大小:
ALTER DATABASE db SET RECOVERY SIMPLE;
GO
ALTER DATABASE db
MODIFY FILE (NAME=db_Log, MAXSIZE = 1024MB);