网站及日志经常出现数据库xxx事务日志已满,原因为“LOG_BACKUP”下面给出一个临时解决办法。
设置sql server数据库日志自动收缩清理
sql server 2005版本sql 语句
a0720111514pmd为数据库名
USE a0720111514pmd ;
GO
ALTER DATABASE a0720111514pmd
SET RECOVERY SIMPLE;–设置简单恢复模式
GO
DBCC SHRINKFILE (a0720111514pmd_Log, 1);
GO
ALTER DATABASE a0720111514pmd
SET RECOVERY FULL;–恢复为原模式
GO
sql server 2012版本 sql语句
DECLARE @dbName NVARCHAR(MAX) = 'a0720111514pmd';
DECLARE @cmd1 NVARCHAR(MAX) = 'ALTER DATABASE ' + @dbName + ' SET RECOVERY SIMPLE;';
DECLARE @cmd2 NVARCHAR(MAX) = 'ALTER DATABASE ' + @dbName + ' SET RECOVERY FULL;';
DECLARE @cmd3 NVARCHAR(MAX) = 'DBCC SHRINKDATABASE (' + @dbName + ' ,0);';
EXEC sys.sp_executesql @cmd1;
EXEC sys.sp_executesql @cmd2;
EXEC sys.sp_executesql @cmd3;
sql server manage设置作业计划,主要设置作业步骤,和执行的时间,把sql语句填入设置为作业计划,其他的根据需求设置。
设置好后执行一下看看效果
可以看到日志文件大小已经改变