【问题标题】:Huge size log file in SQL serverSQL Server 中的大型日志文件
【发布时间】:2016-10-27 09:12:57
【问题描述】:

我有 SQL 数据库,并且我已将相同的数据库发送到其他地方以进行进一步开发(架构可能会发生变化,也可能不会发生变化)。我创建了一个备份文件并将其还原到另一个 SQL Server。

我发现日志文件非常大(14GB),尽管我只有 4 个 1000 行的表并且不会增长太多。目前我运行查询并找到(大小以MB为单位)。

 data_size  data_used_size  log_size    log_used_size
 801.00     2.06            14220.75    55.63

我做了什么:

我已经使用 SQL Management Studio 缩小了日志文件,并且还保留了 SIMPLE 模式恢复,因为我们对这个数据库只有很少的更新,如果交易在任何时候失败都可以再次完成。我创建了一个备份并恢复了相同的内容,发现日志文件的大小已大大减少,这里是。

 total_size data_size   data_used_size  log_size    log_used_size
 802.00     801.00      2.06            1.00         0.46

  • 问题 1:由于数据库大小非常小,我们应该减小数据库的初始大小
  • 问题 2:现在可以发送此 .bak 文件以在其他位置恢复数据库吗

【问题讨论】:

  • 存储是一个问题吗?你想解决什么痛苦?
  • 问题 1 - 如果您认为数据库的增长速度会非常缓慢,那么降低初始大小并进行小规模增量几乎没有什么害处 - 否则您将有空置的空间空置 - 它是由您决定 - 空磁盘空间也无济于事,如果您有 100 个 DB,随着时间的推移可能会增长到 1 GB,是提前保留还是不保留更好,然后看到磁盘空间随着时间的推移开始消失?您的电话问题 2:您应该能够从另一个位置的 .bak 恢复 - 对于数据库,最好检查一下这是否可以作为试验实现。
  • 日志文件在简单模型中可能不会增长那么多,这取决于它首先增长的原因,如果是巨大的未提交事务,那么它可能仍然会增长,但如果它是许多的记录随着时间的推移,它可能不会增长。

标签: sql-server sql-server-2008 logfile


【解决方案1】:

问题 1 的答案: 估计您的数据增长并为您的数据库设置初始大小始终是一个好主意。原因只是为了避免 SQL 数据文件执行非常昂贵的自动增长操作。如果您不期望任何数据增长,那么无论您是否设置 Initial Size,都没有关系。

Q2 的答案: 您可以将备份文件发送到任何位置,只要您在其上还原文件的 SQL Server 版本是类似或更高的版本。唯一需要注意的是备份文件中的数据 - 如果您有敏感数据,请考虑加密。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多