SQL Server 2005巨大的ldf文件

我有一个数据库在SQL Server 2005是24Gb。 现在使用的ldf文件现在是47Gb。 由于缺less磁盘空间,我无法运行数据库的备份。 我的问题是:如何让这个ldf文件下降得更低(甚至是零),我怎样才能防止它在未来变得太大? 数据库已经使用Brightstor进行备份,但是ldf仍然很大。

谢谢你的帮助。

假设您的数据库/应用程序正常运行,并没有做那么多的更新。 假设你没有做任何事务日志备份,那么你需要做两件事之一:

  • 开始执行事务日志备份(除了数据库备份)
  • 或者(如前所述)将您的数据库切换到简单恢复模式

要将数据库设置为简单恢复,请使用SSMS或对数据库运行以下TSQL:

ALTER DATABASE [DBNAME] SET RECOVERY SIMPLE;

一旦您的数据库正在使用简单恢复模式,请确保您进行完整备份。 接下来,您将需要通过运行以下TSQL告诉SQLServer明确收缩日志文件:

DBCC SHRINKFILE(FileName,TargetSize)

其中文件名是数据库日志文件的名称(即DBNAME_Log),目标大小以兆字节为单位(请记住,您不想使其太小,否则只需重新生成“常规”水平)

首先想到的是,如何在数据库上设置日志logging模式? 如果您将其更改为简单,则应减小此大小。

这个链接可能有所帮助: http : //www.mindsdoor.net/SQLAdmin/TransactionLogFileGrows_1.html

如果由于空间不足而导致备份失败,听起来就像您备份到同一个驱动器,因为您有日志(可能还有数据?)。 Brightstor希望备份到服务器的位置?

你需要日志备份来恢复? 如果不是,则切换到SIMPLE恢复模式,然后收缩事务日志文件。

如果确实需要日志备份,则可以通过使用TRUNCATE_ONLY执行日志备份,然后进行日志缩减,然后执行完整的数据库备份,以便可以再次启动备份链,从而回收空间。

鉴于你的ldf是巨大的,我想你只是不采取日志备份数据库在完全恢复模式,因此它会不断增长,直到你支持它或切换到简单的恢复。

您需要将数据库日志logging设置为简单(但只有在您完成数据库的完全备份时)。

  1. 右键点击你的数据库
  2. select属性
  3. select选项
  4. 将恢复模式设置为简单

如果您的备份计划是每天完整备份,这将是最好的。 因为在这种情况下你的日志不会被修剪,而且会飞涨。

如果你会使用祖父&父子备份技术。 这意味着每月完整备份每周完整备份 ,然后每天进行增量备份 。 那么你需要完全恢复模式

所以在你的情况下,如果你每天运行完整的备份,你可以切换到简单的恢复模式,你应该没问题,没有风险的数据。 如果您打算使用增量,则将其保留在恢复模式已满