.ldf 文件缩小或减小大小 - 推荐的解决方案
.ldf File Shrink or Reduce Size - Recommended Solution
我对 SQL 服务器 t-Log 文件大小增长(.ldf 文件)感到困惑。我分析了各种blogs/topics,DBA 有的推荐Log file Shrink,有的建议不要这样做。这是我曾经遵循的内容:
Take Database in Full mode if its not already in it.
Shrink Log
files if not enough memory freed then move to next step.
- 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!!! )
- 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。
不要压缩文件。
我对 SQL 服务器 t-Log 文件大小增长(.ldf 文件)感到困惑。我分析了各种blogs/topics,DBA 有的推荐Log file Shrink,有的建议不要这样做。这是我曾经遵循的内容:
Take Database in Full mode if its not already in it.
Shrink Log files if not enough memory freed then move to next step.
- 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!!! )
- 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。
不要压缩文件。