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

时间:2017-09-15 19:20:17

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

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

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

  2.   
  3. 收缩日志       文件如果释放的内存不足,则转到下一步。

  4.   
  5. 取消附加数据库。 (有时它进入单一模式,无论如何       死锁进程我杀了,它永远不会进入多用户模式       再次。大问题!!! )
  6.   
  7. 将.ldf文件移动到其他位置并仅恢复mdf文件。
  8.   

这不是推荐的技术,所以我浏览了以下脚本,即减少虚拟日志文件(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脚本是否可以在无法提供停机时间的生产环境中进行尝试。请告知我应该如何继续前进。

1 个答案:

答案 0 :(得分:0)

1)您的数据库是什么恢复模型?    1.1)如果是完全恢复模型,那么正在进行事务日志备份吗?         如果没有,那就是你的日志增长的原因。         您可以进行事务日志备份,也可以更改恢复         mode to Simple并释放空白区域。

不要缩小文件。