Skip to main content

清理SQLServer日志

清理具体某个数据库的日志

USE [数据库名称] 

GO
ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT
GO
DBCC SHRINKFILE (N'数据库名称_log' , 400, TRUNCATEONLY)
GO
DBCC SHRINKDATABASE(N'数据库名称' )
GO
ALTER DATABASE 数据库名称 SET RECOVERY full WITH NO_WAIT
GO


--SQLServer删除了数据,数据库大小不变
DBCC SHRINKDATABASE (N'Travoute')


USE master;
GO
SELECT spid, loginame, hostname, dbid, cmd
FROM sys.sysprocesses
WHERE dbid = DB_ID('DBName');

KILL [spid]

清理SQLServer系统的错误日志

系统级别的日志,可以写个计划任务,每天执行1次。这个系统级别的日志,名字默认是Errorlog、Errorlog2、Errorlog3...Errorlog6,每次执行语句,会新建一个1,然后把旧的1改为2、2改为3以此类推 所以执行7次就全清空了

EXEC sp_cycle_errorlog ;  
GO