2013-08-26 120 views
3

我正在使用Sql Server 2012.
我的LDF文件增长非常快。
例如,
如果我尝试将3-4列的数据类型从varchar(10)更改为varchar(5),则几乎会消耗磁盘空间的4-5 GBSql Server ldf文件增长非常快

甚至,当我运行简单的插入查询时,会消耗大量的磁盘空间。

请告诉我如此快速增长ldf文件的可能原因是什么?
我该如何解决这个问题?

谢谢。

+1

建议另见http://dba.stackexchange.com/q/29829/1186 –

回答

3

所以,最后我有机会解决这个问题。
实际上,当我执行事务日志备份时, 不会从ldf文件中释放空间。
那么,
来解决它,
首先,我采取数据库的完整备份。
然后尝试缩小数据库(不是文件)。
当我收缩数据库时,ldf文件的空间被释放。

这是什么,解决了我的问题。

更多的简短详情Visit This link阿龙贝特朗

+0

这是一个很好的解决方案??! –

+0

@MikeDarwish不确定,但是那是那个时候对我的工作,对此我必须有一些更好的解决方案。 –

1

如果您在完全恢复模式下运行,则需要执行常规事务日志备份以减慢日志增长。

USE master 
GO 
SELECT a.name, 
     MAX(b.backup_finish_date) AS backup_finish_date 
FROM  master.sys.sysdatabases a 
     LEFT OUTER JOIN msdb..backupset b 
     ON b.database_name = d.name 
     AND b.type   = 'L' 
GROUP BY a.name 
ORDER BY backup_finish_date DESC 

而且,这些都是一些这导致事务日志增长的因素: http://msdn.microsoft.com/en-us/library/ms345414.aspx

而且,这个环节可以进一步帮助您控制日志文件大小:http://blog.sqlauthority.com/2010/09/20/sql-server-how-to-stop-growing-log-file-too-big/

+0

所以我试图执行事务日志备份......但它不会影响ldf文件的大小。 ldf文件仍然具有与以前相同的大小。但是,我应该截断ldf文件。 (虽然我选择了turncate事务日志选项)...... :( –

+0

此外,执行常规事务日志备份会减慢日志增长,但ldf文件的大小保持不变... :( –