左岸印象
收缩

分类: 服务器类 作者: 阅读: 2,484  

日志文件满而造成SQL数据库无法写入文件时,可用两种方法:

打开SQL查询分析器 => 连接数据库所在服务器
可以使用以下语句清理数据库日志: 
–对mssql事务日志变大的处理 清空日志
DUMP TRANSACTION 数据库名 WITH NO_LOG

–截断事务日志
BACKUP LOG 数据库名 WITH NO_LOG

–收缩数据库
DBCC SHRINKDATABASE(数据库名)

阅读全文      1条评论

分类: 服务器类 作者: 阅读: 2,525  

DECLARE @name VARCHAR(25)
DECLARE @SQL VARCHAR(1000)
DECLARE @logid INT
DECLARE sysdatabase_name CURSOR FOR SELECT name FROM master.dbo.sysdatabases
OPEN sysdatabase_name
FETCH NEXT FROM sysdatabase_name INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
IF ( @name NOT IN (‘xxx’))
BEGIN
SET @SQL =’ DECLARE @logid INT
USE [' + @name+']
SELECT @logid = fileid FROM sysfiles WHERE RIGHT(rtrim(filename),3) = ”ldf”
BACKUP LOG [' + @name+'] WITH NO_LOG
DBCC SHRINKFILE (@logid) ‘
EXEC(@SQL)
END

FETCH NEXT FROM sysdatabase_name INTO @name

END
CLOSE sysdatabase_name
DEALLOCATE sysdatabase_name

阅读全文      暂无评论