0

我对 SQL Server t-Log 文件大小增长(.ldf 文件)感到困惑。我通过 DBA 的一些推荐的日志文件收缩分析了各种博客/主题,而有些则建议不要这样做。这是我以前遵循的:

  1. 如果数据库尚未在其中,则将其置于完整模式。

  2. 如果没有释放足够的内存,则收缩日志文件,然后转到下一步。

  3. 解除附加数据库。(有时它进入单模式,无论我杀死什么死锁进程,它都不会再进入多用户模式。大问题!!!)
  4. 将 .ldf 文件移动到其他位置并仅恢复 mdf 文件。

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

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 脚本在无法承受停机时间的生产环境中尝试。请告知我应该如何前进。

4

1 回答 1

0

1)你的数据库是什么恢复模式?1.1) 如果它的 FULL 恢复模式,那么是在做事务日志备份吗?如果不是,那么这就是您的日志不断增长的原因。您可以进行事务日志备份,或者将恢复模式更改为简单并释放空白空间。

不要缩小文件。

于 2017-09-16T08:53:09.993 回答