用语句清除数据库日志

如果SQLServer服务器对日志大小有限制的话,如果日志满了的话,那么在WEB操作中只能查询,无法对数据库进行插入修改等操作。这里候需要清除日志。

如果您在网站中发现了这种现象,网站正常打开,数据无法增加也不报错,就很有可能是这种情况,就需要清除一下数据库日志了。


-- =============================================
-- Author:        <LL>
-- Description:    <清日志>
--日期输入为文本类型 '2010-02-28'

--本过程的数据库名是按日期命名的
-- =============================================
ALTER PROCEDURE [dbo].[Del_Log]
    @dateBegin smalldatetime,
    @dateEnd smalldatetime
AS
declare @t table(id int identity(1,1),date smalldatetime)
declare @dbName varchar(14)
while @dateBegin <= @dateEnd
begin
    set @dbName = 'Wap_' + replace(convert(varchar(10),@dateBegin,102),'.','_')

    --清日志
    DUMP TRANSACTION @dbName WITH NO_LOG
    BACKUP LOG @dbName WITH NO_LOG
    DBCC SHRINKDATABASE(@dbName)

    insert into @t (date) values (@dateBegin)
    set @dateBegin = dateadd(day,1,@dateBegin)
end

select * from @t

原文地址:https://www.cnblogs.com/lilin/p/1743256.html