2010-11-09 130 views
2

如何释放事务日志空间在SQL Server 2005:SQL Server事务日志已满

我有事务日志的大小= 70 GB,并有四种事务日志在不同的驱动器1,2,3,4。 通过DBCC SQLPERF(LOGSPACE)我发现事务日志是Full(使用100%),我想释放事务日志中的空间,并且我不想T日志备份。我没有空间备份事务日志。我的数据库处于复制状态。

  1. 我怎样才能腾出事务日志或
  2. 而不是3事务日志文件,我只能有一个日志文件或
  3. 如果收缩方法做什么用的复制呢?
+0

属于服务器故障 – 2010-11-09 10:52:24

回答

0

查阅以下Microsoft的文章。

http://msdn.microsoft.com/en-us/library/ms175495.aspx

,我想腾出 事务日志的空间,我不想T-数 备份

MS不支持此。

事务日志备份是需要的。得到一个驱动器,做到这一点。

如果你不这样做,你不能释放日志。

不释放日志不能缩小文件。 Ergo,无论您是否需要,您都需要进行备份。

如果您不关心事务日志,那么应该在简单恢复模式下创建数据库以开始使用。

+0

它的DEVelopment环境,我用这样的句子。我一定会在下次发帖时保重。如果我使数据库处于简单恢复模式,我的复制是否有任何问题? – Dhiva 2010-11-09 11:55:36

+0

不知道 - 认真。如果有什么设置每日备份脚本....然后删除备份;) – TomTom 2010-11-09 13:44:15

+0

谢谢,它采取每日备份脚本和删除 – Dhiva 2010-11-10 08:52:36

0

会缩小文件个别完成你想要的?

DBCC SHRINKFILE (N'LogFile', 1) 
0

已经是有关复制数据库here恢复模式开关讨论。你可以阅读一些documentation as well on MSDN

如果你不想让T-日志备份,因为空间的限制,你可以把复制的数据库中的简单恢复模式,并尝试:

执行检查点。处于SIMPLE恢复模式的数据库将清除每个检查点上的LOG。

DBCC SHRINKFILE (N'LogFileName', 1) -- shrink the log file to 1 MB 

之后,将其更改为完整。 为了删除一些数据库的日志文件,首先必须清空那些用于删除的日志文件,然后删除它们。详情here