缩小sql server数据库日志文件,限制sql server数据库日志文件的大小

由于经常和数据库打交道,经常见到在客户的机器上,SQL server数据库日志文件的大小,远远超过于数据库数据文件的大小,客户用的都是一些服务器,磁盘空间有的是,当然不在乎这点文件,可以,当客户要求查找一些数据的时候,就不得不备份客户的数据库,经常是备份回来的数据库,无法还原,原因就是我的PC上没有这么大的空间来还原,无奈啊,

只有把客户的数据库日志缩小一下了,于是从网上找了以下代码,可以收缩数据库日志,我执行了一下,日志缩小的,不过有一个错误产生,还没来的急分析,先不管他,达到目的才是硬道理

 

缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
SET NOCOUNT ON
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
DECLARE @LogicalFileName sysname,
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
@MaxMinutes INT,
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
@NewSize INT
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
USE bbbbb -- 要操作的数据库名
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
SELECT @LogicalFileName = 'bbbbb_Log'-- 日志文件名
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
@MaxMinutes = 100-- 数据库操作的超时上限.
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
@NewSize = 100 -- 你想设定的日志文件的大小(M)
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小

缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
-- Setup / initialize
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
DECLARE @OriginalSize int
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
SELECT @OriginalSize = size
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
FROM sysfiles
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
WHERE name = @LogicalFileName
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
CONVERT(VARCHAR(30),@OriginalSize+ ' 8K pages or ' +
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
FROM sysfiles
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
WHERE name = @LogicalFileName
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
CREATE TABLE DummyTrans
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小(DummyColumn 
char (8000not null)
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
DECLARE @Counter INT,
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
@StartTime DATETIME,
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
@TruncLog VARCHAR(255)
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
SELECT @StartTime = GETDATE(),
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
DBCC SHRINKFILE (@LogicalFileName@NewSize)
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
EXEC (@TruncLog)
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
-- Wrap the log if necessary.
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
WHILE @MaxMinutes > DATEDIFF (mi, @StartTimeGETDATE()) -- 当操作未超时
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileNameAND (@OriginalSize * 8 /1024> @NewSize
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
BEGIN -- Outer loop.
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
SELECT @Counter = 0
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
WHILE ((@Counter < @OriginalSize / 16AND (@Counter < 50000))
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
BEGIN -- update
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
INSERT DummyTrans VALUES ('Fill Log')
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
DELETE DummyTrans
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
SELECT @Counter = @Counter + 1
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
END
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
EXEC (@TruncLog)
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
END
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
FROM sysfiles
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
WHERE name = @LogicalFileName
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
DROP TABLE DummyTrans
缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
SET NOCOUNT OFF
上一篇:使用迅雷下载API进行快速下载


下一篇:实现抓图的工具2