【问题标题】:.ldf File Shrink or Reduce Size - Recommended Solution.ldf 文件缩小或减小大小 - 推荐的解决方案
【发布时间】:2017-09-15 19:20:17
【问题描述】:

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

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

【问题讨论】:

  • 你认为日志文件为什么需要收缩?这是一次性的事情还是您必须定期做的事情?
  • 实际上,我在各种 SQL Server 上都遇到过这种情况,其中 LOG 文件大小增加过多,磁盘空间几乎消耗了 99%,这导致数据库服务器出现故障/阻塞。
  • 首先要做的是弄清楚为什么日志会变得如此之大。也许备份没有发生,也许他们只是看到太多的事务,他们实际上需要更大并且需要增加磁盘空间。有许多事情需要考虑,例如增长日志文件所需的资源。在此处阅读评分最高的答案dba.stackexchange.com/questions/53857/…
  • 好的,我会浏览您分享的链接并回复。谢谢
  • “这不是推荐的技术” 谁说的?为什么?

标签: sql-server sql-server-2008 tsql database-administration ldf


【解决方案1】:

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

不要缩小文件。

【讨论】:

  • 模式为Simple,未使用的日志语句应自动截断。但是 t-Logs 的大小在两到三周后仍然增长。为了克服它,我将模式设置为 Full,然后按照问题中的讨论进行日志备份、解除附加和附加操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 2013-09-11
  • 1970-01-01
  • 2017-04-24
  • 1970-01-01
  • 2021-07-13
  • 2010-10-08
相关资源
最近更新 更多