怎样缩小SQLServer数据库日志文件

怎样缩小SQLServer数据库日志文件,第1张

怎样缩小SQLServer数据库日志文件,第2张

本文将向您讲解如何减少SQL Server的数据库日志文件,相对简单,一目了然。

问:我的数据库实际大小是600MB,日志文件实际大小是33MB,但是日志文件在空之间占用了2.8GB!我尝试了几种方法,比如SHIRNK数据库和截断日志文件,但是我不能减小文件大小。

答:您可以将下面的代码复制到查询分析器中,然后修改三个参数(数据库名、日志文件名和目标日志文件的大小)并运行它。

以下是引用片段:
-
set no counton
declare @ logical filename sysname,
@ maxminutes int,
@ newsize int
use marias
-要操作的数据库名
select @ logical filename = ' marias _ log '
-日志文件名
@MaxMinutes = 10,
-限制允许换行日志的时间。
@ new Size = 100
-要设置的日志文件的大小(m)
-setup/initialize
DECLARE @ Original Size int
SELECT @ Original Size = Size
FROM sysfiles
其中name = @ logical filename
SELECT ' Original Size of '+db _ name()+' LOG is '+
CONVERT(VARCHAR(30),@ Original Size)+' 80 (@ original size * 8/1024))+' MB '
FROM sysfiles
WHERE name = @ logical filename
CREATE TABLE dummy trans
(dummy column char(8000)not null)
DECLARE @ Counter INT,
@StartTime DATETIME,
@ TruncLog VARCHAR(255)
SELECT @ start time = GETDATE(),
@TruncLog = 'BACKUP
WHILE @ max minutes > DATEDIFF
(mi,@StartTime,GETDATE()) -时间未到期
AND @ original size =(SELECT size
FROM sysfiles WHERE name = @ logical filename)
AND(@ original size * 8/1024)> @ NewSize
BEGIN-Outer loop。
SELECT @ Counter = 0
WHILE((@ Counter < @ original Size/16)
AND(@ Counter < 50000))
BEGIN-update
INSERT dummy trans VALUES(' Fill Log ')
DELETE dummy trans
SELECT @ Counter = @ Counter+1
END
EXEC(@ trunk Log)
END
SELECT '的最终大小'+ db

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 怎样缩小SQLServer数据库日志文件

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情