当前位置:  开发笔记 > 编程语言 > 正文

如何管理SQL Server日志大小

如何解决《如何管理SQLServer日志大小》经验,为你挑选了1个好方法。

我正在尝试管理SQL Server 2008日志文件的大小.我有一个每天加载一次的报告数据库.简单恢复模型是最合适的,因为除了早上加载之外没有其他事务,我可以重新创建这些记录.我的目标是使事务日志具有固定大小,足够大,以便在加载期间不必分配新空间.

我的问题是日志不断增长.我知道日志应该被标记为可重用,但为什么日志会不断增长?log_reuse_wait_desc显示"Nothing".

我可以将日志文件缩小到1 MB,所以我知道它没有任何事务.我可以设置一个工作来做这件事,但我宁愿把日志保留在500MB,这足以处理每日负载.如果我这样做,日志会增长.

如何使日志保持一致的大小?

请注意:缩小日志文件不能解决此问题.我知道该怎么做.我正试图在事务日志中找到一种方法来重用.



1> beach..:

即使数据库处于SIMPLE RECOVERY MODE,日志文件也用于事务目的.如果LOG大小确实超过500 MB,那么有人正在运行需要该空间的查询或存储过程.

例如,您可能正在为报告表创建索引.这将在事务内部完成,以便在发生错误时可以回滚更改.但是,一旦完成其他事务,之后将释放已用空间.

因此,如果日志大小从1MB开始并增加到700MB,那么正在进行需要该空间的工作.如果将大小锁定为500MB,则最终会收到"日志文件空间不足"错误.

但如果你真的想以500MB修复它,你可以执行以下操作:(我正在使用SQL Server 2005)

    启动Microsoft SQL Server Management Studio

    找到您的数据库并右键单击它.选择属性.

    单击"文件"部分

    找到LOG FILE行.

    将初始大小更改为:500

    找到Autogrowth部分并单击椭圆(...)

    取消选中"启用自动增长".单击确定.

    单击"确定"进行更改.

注意:您还可以在"自动增长部分"中设置最大日志文件大小.

或者,您可以使用以下脚本进行更改.用适当的值替换DATABASENAME.如果需要,还要更改日志文件名.

USE [master]
GO
ALTER DATABASE [DatabaseName] MODIFY FILE ( NAME = N'DATABASENAME_Log', SIZE = 512000KB , FILEGROWTH = 0)
GO

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有