Bam*_*ano 9 sql-server backup recovery transaction-log
背景:
我最近继承了 50 多个带有 450 多个数据库的 SQL Server。每晚备份大约为 8TB,不用说,我们使用的磁盘空间比我们想要的要多。所有数据库都设置为完全恢复,并且从未备份事务日志。我已经浏览了所有 SQL Server,并确定了只需要每晚备份的低优先级服务器,并且可以接受一天的数据丢失。
题:
我正在将许多低优先级数据库SIMPLE
从FULL
. 现有的事务日志是否会被截断(在创建检查点时)?一些现有的事务日志是 50-100GB;为了继续前进,确定我应该将它们缩小到什么的最佳方法是什么?我显然不想让它们那么大。或者,随着时间的推移,它们会自行缩小吗(我认为它们不会)?
我正在将许多数据库从完整恢复模式切换到简单恢复模式(不需要 T 日志和时间点恢复)。现有的事务日志是否会被截断(在创建检查点时)?
在简单恢复模型中,数据库引擎将发出自动检查点,其频率取决于恢复间隔(高级服务器配置设置)或日志是否已满 70%。
除非您有一些长时间运行的事务会延迟日志截断,否则自动检查点将截断 T 日志中未使用的部分。
一些现有的事务日志是 50-100GB,确定我应该将它们缩小到什么以便向前推进的最佳方法是什么。我显然不想让它们那么大。
如果您将那些具有 50-100GB T-log 的数据库的数据库恢复模型设置为 FULL,那么您必须开始频繁地进行 T-log 备份。请记住,在完全恢复模式中,一旦建立了日志备份链,即使是自动检查点也不会导致日志被截断。
作为最后的手段,您可以截断日志文件,然后立即进行完整备份,然后开始进行 T 日志备份,以便在发生灾难时进行时间点恢复。
或者,随着时间的推移,它们会自行缩小吗(我认为它们不会)?
正如@TomTom 指出的那样,它是手动操作。
阅读:
小智 2
FULL
在从恢复模式切换之前SIMPLE
,问问自己可以承受丢失多少数据。对于发生灾难时可以恢复上次数据库备份的数据库来说,SIMPLE
应该没问题。如果情况并非如此,请继续使用FULL
。
要将文件缩小LDF
到尽可能小,请按照 Kimberly Tripp 此处给出的步骤操作:提高事务日志吞吐量的 8 个步骤
等待数据库活动较少的时间
在SSMS中运行:
DBCC SHRINKFILE(transaction_log_logical_filename, TRUNCATEONLY)
Run Code Online (Sandbox Code Playgroud)修改事务日志文件大小:
ALTER DATABASE db_name
MODIFY FILE ( NAME = transaction_log_logical_filename, SIZE = new_size)
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
18799 次 |
最近记录: |