LDF 文件删除

LDF FILE DELETION

有没有一种方法可以定期删除生成的 LDF 文件,因为它占用了我 space 的 100 GB,我想释放那个 space。 有没有一种方法可以编写定期删除此 LDF 文件的过程?

您需要阅读如何进行 SQL 服务器备份以及恢复模型的工作原理:https://msdn.microsoft.com/en-us/library/ms187048.aspx

但简而言之:

  • 如果您将数据库设置为完全恢复模式,那么您需要进行事务日志备份:事务日志中使用的 space 将可用于新事务。

  • 如果您处于简单恢复模式,那么事务日志的大小需要根据您的峰值瞬态使用量进行调整(否则它自然会达到这个水平)。

删除事务日志不是一个好主意,尤其是当您不知道它是如何被使用的时候。

你绝对不能删除 LDF 文件,只能缩小到初始大小。缩小的步骤是

  1. 停止复制(如果有)

  2. 将数据库设置为简单恢复模式(如果设置为其他模式)

  3. 执行备份

  4. 执行收缩

    Sql 您可以在此处找到第 1 步(从未使用过)https://cavemansblog.wordpress.com/2012/03/12/startstop-sql-server-replication-agent/

Sql 第 2 步 https://msdn.microsoft.com/en-us/library/ms189272.aspx

USE master ;  
ALTER DATABASE youdatabase SET RECOVERY SIMPLE ;
...  
ALTER DATABASE youdatabase SET RECOVERY FULL ;  

Sql 第 3 步 https://msdn.microsoft.com/en-us/library/ms186865.aspx

BACKUP DATABASE your_database TO DISK = 'place_your_path_here';

Sql 第 4 步 https://msdn.microsoft.com/en-us/library/ms189493.aspx,顺便说一句,B 是满足您需要的完整脚本:-)

DBCC SHRINKFILE (yourdabase_Log, 1);