SQL Server 2005事务日志太大了

时间:2010-01-08 01:16:29

标签: sql-server-2005 transaction-log truncate-log

我正在运行SQL Server 2005。

我的数据库备份方案是:
恢复模式:FULL
备份类型:全部
备份组件:数据库
备份集将过期:0天后 覆盖媒体:备份到现有媒体集,附加到现有备份集

db正在写入250GB驱动器(实际为232GB)。

我的_Data.mdf文件超过55GB,我的_Log.ldf超过148GB。

我们遇到了今天我们的驱动器已满的情况。我将ab_ Full.bak和ab _Log.bak文件移动到另一个驱动器以腾出空间 - 大约45GB。五个小时后,可用空间为37GB。

我是管理SQL服务器的新手;所以,我对我的备份有一些基本的问题。

我知道我需要更新数据库以开始管理事务日志大小,以帮助防止将来出现此问题。所以,假设我有足够的自由空间,我: 1.右键单击数据库,然后选择备份
2.将“备份类型”设置为“事务日志”
3.更改'备份集将在30天后到期' 4.单击“确定”

我的理解是这会将“已关闭”的事务从事务日志移到备份并截断事务日志。

这个计划听起来好吗?我之后是否需要手动调整日志文件的大小?

感谢您的时间。

2 个答案:

答案 0 :(得分:4)

您是否随时备份交易日志? 如果您使用的是完全恢复模型,那么除了备份主数据库之外还需要备份事务日志,或者如果您不想备份日志(为什么还要使用完整恢复模型? )然后至少以一定的间隔截断日志。

您应该在每次完整备份之前备份事务日志(并且只要保留以前的完整备份就保留它),这样您就可以恢复到自保留的第一次完整备份以来的任何时间点。此外,如果两次完整备份之间发生错误,可能需要更频繁地备份事务日志(总大小相同)。

答案 1 :(得分:0)

最好的方法是定期备份您的日志文件。同时,对于像您描述的那种“灾难性”场景,您可以使用此片段来减小日志的大小: http://www.snip2code.com/Snippet/12913/How-to-correctly-Shrink-Log-File-for-SQL