sql server怎么收缩日志

那天在地铁上,我帮坐在我旁边的哥哥看手机。
他收到银行通知说他的账户出现异常,让我帮他检查一下是否被盗了。
我打开应用程序,点击账户详情,发现他最近进行了一笔大额转账,并且备注是“还贷”,但他告诉我他最近根本没有买房。
我连忙问他,他一脸困惑。
这时他才意识到有家人在用他的账户进行交易。
我建议他赶快修改密码,链接手机,然后挂失。
他连声感谢我,突然说道:“嘿,别告诉我,我最近正在学习如何备份我的数据库,这个非常重要。

我问他是怎么学的,他说他看了在线教程,例如使用 SQL Server Management Studio 测试数据库恢复模型。
我正好问一下备份命令是什么,对吗?他愣了一下,说好像是先全量备份,然后是日志备份。
我点点头,想起上次公司系统宕机,因为日志没有及时备份,所有数据都丢失了。
等等,他突然想到,当你谈论日志备份时,是否也需要注意“trim transaction log”选项?我说是啊,如果不检查的话,日志文件会越来越大。
他用手滑过手机屏幕,说上次手动减少日志文件时,系统提示空间不足。
结果上次备份操作不成功。
你应该把这个写下来,下次再检查几次。

现在想来,他提到的这些步骤确实非常关键。
全量备份是基础,日志备份一定要维护,还要注意容易被忽视的细节,比如备份后截断日志等复制。
上次我帮朋友修电脑,他的硬盘满了,他很担心。
我帮他清除临时文件和缓存。
我终于发现他忘记定期备份数据,日志文件正在破坏硬盘。
听了我的话,他很快就问我是否要为他设置自动备份。
我说设置没问题,但是你要先了解一下恢复模式,不然你备份了也恢复不了。

事实上,归根结底,备份数据库就像打扫房间一样。
首先需要知道哪些文件是“重要的”(完整备份),哪些是“临时文件”(事务日志),然后定期清理它们(备份和截断),最后释放空间(压缩文件)。
他听了,突然说道:“对了,你刚才提到的‘仅备份’选项好像和这个有关?我看着他屏幕上密密麻麻的选项,心想:这个数据库里的知识,真的可以一层层剥开。

手动收缩SQL server数据库日志文件

嘿,我们来谈谈手动收缩 SQL Server 日志。
说说我踩过的坑吧。

上周,一位客户问我,他的数据库日志文件一直在增长,即将爆裂,他想手动关闭它。
我帮他完成并总结了步骤。
请记下它们:
核心流程 其实只有四步:改变恢复模式→收缩日志→改回来→视情况再做一次。

具体操作 1 .登录管理工具 打开 SSMS (SQL Server Management Studio) 并连接到服务器。

2 更改恢复模式 在对象资源管理器中,点击数据库,右键选择“属性”,翻到“选项”页面,找到“恢复模式”,将其改为“简单模式”。
保存(单击“确定”)。

注意:这一步很关键! 必须在简单模式下收缩日志。
你问我为什么? 由于完整模式下日志是循环使用的,所以简单模式下的日志文件会自动删除旧记录,然后可以收缩它。

3 执行收缩操作 右键单击数据库,然后单击“任务”→“收缩”→“文件”。
在弹出窗口中,选择“日志”作为“文件类型”。
然后看“压缩操作”,选择“压缩文件到”,输入你想要的大小,比如“1 MB”。
单击“确定”。

陷阱:第一次收缩时不要贪太多。
比如你设置了1 MB,收缩之后你可能会发现还是很大。
这个时候先别急着全部删除。
再次启动收缩文件操作,将目标更改为较小的大小,例如5 00KB,然后重试。

4 更改回恢复模式 缩小后记得改回来! 右键单击数据库→“属性”→“选项”,将恢复模式改回“完整模式”,然后保存。

注释
为什么要改模式:日志只能在简单模式下进行收缩。
这是一个残酷的事实。
收缩后一定要改回完整模式,否则备份数据库时会发现日志备份为空,恢复时就没用了。

收缩多少合适:比如设置为1 MB,下次写日志时数据库可能又满了。
所以收缩之后,要留意它的生长频率,下次再调整。
不要收缩得太小,否则当日志满时数据库会自动增长,这是没有意义的。

生产环境要小心:上周我让客户先在测试环境中尝试一下。
收缩日志时,数据库可能会有点卡。
最好在生意不忙的时候进行。
如果日志满了,收缩后又自动增长,那就麻烦了。

总之,就看你自己了,别着急,一步一步来就好。
如果你有什么不明白的,可以问我。