.ldf 文件缩小或减小大小 - 推荐的解决方案

.ldf File Shrink or Reduce Size - Recommended Solution

我对 SQL 服务器 t-Log 文件大小增长(.ldf 文件)感到困惑。我分析了各种blogs/topics,DBA 有的推荐Log file Shrink,有的建议不要这样做。这是我曾经遵循的内容:

  1. Take Database in Full mode if its not already in it.

  2. Shrink Log files if not enough memory freed then move to next step.

  3. De-Attach Database. (sometimes it went in Single Mode and no matter what deadlock process I kill , it will never come in multi-user mode again. BIG PROBLEM!!! )
  4. move .ldf file to other location and Restore mdf file only.

这不是推荐的技术,所以我浏览了以下脚本,即减少虚拟日志文件 (VLF) 以释放未使用的 space:

USE dbname
BACKUP LOG dbname TO DISK = 'C:\x\dbname.trn'
--First param below is fileno for log file, often 2. Check with sys.database_files
--Second is desired size, in MB.
  DBCC SHRINKFILE(2, 500)
  DBCC SQLPERF(LOGSPACE) --Optional
  DBCC LOGINFO --Optional 
  Now repeate above commands as many times as needed!

我不确定 VLF 脚本是否专业推荐用于无法承受停机时间的生产环境。请指教我应该如何前进。

1) 你的数据库是什么恢复模式? 1.1) 如果是完全恢复模式,那么是否正在做事务日志备份? 如果不是,那就是您的日志增长的原因。 您可以制作事务日志备份,或更改恢复 模式为简单并释放空 space。

不要压缩文件。