我无法弄清楚如何缩小数据库ldf文件的大小。
DBA说我应该使用backup log dbname with truncate_only
虽然这看起来像在SQL查询分析器中正确执行,但ldf文件仍然超过2 GB。
**根据下面的一些注释和一些答案进行说明***所讨论的特定数据库是在我的笔记本电脑上的一个数据库,我仅将它用于开发过程。 日志文件正在增长到看起来导致完整磁盘的一个点。 不涉及生产风险。 我明白,我所问的问题和我接受的答案在生产环境中是有风险的。
哦,恐怖! 请停止告诉人们他们应该缩小他们的日志文件!
如果你陷入这种情况,那么以下情况之一是极有可能的:
每一个的答案如下:
如果(1),则将数据库切换到简单模式
如果(2),则安排定期的日志备份
如果(3),则修复您的计划日志备份
如果(4),那么就不要这样做:)而是,做小批量的工作。
请注意,这些都不需要使用(不赞成使用)“truncate_only备份日志数据库名”
相反,一旦您使用上述技术之一清除日志文件,然后缩小(现在是空的)日志:
DBCC SHRINKFILE ('log logical name', 2000)
总是指定一个合理的最终大小,否则它会缩小到接近0,下一次需要时,将不得不花费时间来增长。
在执行“truncate_only备份”之后,您应该执行以下命令来收缩
dbcc SHRINKFILE (logfilename,shrink_tosize)
例如
dbcc SHRINKFILE (mydatabase_Log,512)
您上面编写的脚本将标记日志内容以供重用。 遵循该脚本:
USE <database>; DBCC SHRINKFILE (<log logical file name>)
这会缩小你的。