使用巨大的日志文件进行完全恢复
full recovery with huge log file
在具有完整模型备份的 sql 服务器数据库中,每 15 分钟备份一次 tran 日志,但是,日志文件仍然很大。
我怀疑我应该根据目标恢复时间参数(实际上是 60 秒)采取行动......
[
最近我发现了一种缩小它的方法:
完成以下任务后收缩数据库:
/*
执行数据库的完整备份。
将数据库的备份方法更改为"Simple"
打开查询 window 并输入 "checkpoint" 并执行
再执行一次数据库备份
执行数据库的最终完整备份。
*/
事务日志备份不会缩小文件。如果它们变大,备份后 space 将被标记为可用并重复使用,但文件大小不会减小。但是,如果您尝试缩小它但没有缩小,那么可能该日志仍在使用中。是否还有其他使用事务日志的东西可以防止截断?检查此命令的结果:
SELECT log_reuse_wait_desc FROM sys.databases where name = N'<database_name>';
它显示除了 NOTHING 或 LOG_BACKUP 之外的任何内容,您不能缩小它,因为其他东西正在使用它。
在具有完整模型备份的 sql 服务器数据库中,每 15 分钟备份一次 tran 日志,但是,日志文件仍然很大。 我怀疑我应该根据目标恢复时间参数(实际上是 60 秒)采取行动......
完成以下任务后收缩数据库:
/* 执行数据库的完整备份。
将数据库的备份方法更改为"Simple"
打开查询 window 并输入 "checkpoint" 并执行
再执行一次数据库备份
执行数据库的最终完整备份。 */
事务日志备份不会缩小文件。如果它们变大,备份后 space 将被标记为可用并重复使用,但文件大小不会减小。但是,如果您尝试缩小它但没有缩小,那么可能该日志仍在使用中。是否还有其他使用事务日志的东西可以防止截断?检查此命令的结果:
SELECT log_reuse_wait_desc FROM sys.databases where name = N'<database_name>';
它显示除了 NOTHING 或 LOG_BACKUP 之外的任何内容,您不能缩小它,因为其他东西正在使用它。