我对SQL Server t-Log文件大小增长(.ldf文件)感到困惑。我分析了DBA的一些推荐日志文件收缩的各种博客/主题,而有些则建议不这样做。这是我过去常常遵循的:
如果数据库尚未包含在数据库中,请将其置于完整模式。
收缩日志 文件如果释放的内存不足,则转到下一步。
- 取消附加数据库。 (有时它进入单一模式,无论如何 死锁进程我杀了,它永远不会进入多用户模式 再次。大问题!!! )
- 将.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脚本是否可以在无法提供停机时间的生产环境中进行尝试。请告知我应该如何继续前进。
答案 0 :(得分:0)
1)您的数据库是什么恢复模型? 1.1)如果是完全恢复模型,那么正在进行事务日志备份吗? 如果没有,那就是你的日志增长的原因。 您可以进行事务日志备份,也可以更改恢复 mode to Simple并释放空白区域。
不要缩小文件。