动态创建的数据库的 LDF 和 MDF 文件大小

Viv*_*vek 7 database-design sql-server

我正在从 C# 代码创建一个动态数据库,并希望数据库具有固定大小(例如 5 GB)。通过代码创建数据库时,我需要指定 MDF 和 LDF 最大文件大小。理想值应该是多少?每个 2.5GB 还是它们的其他比例?

我必须确保总数据库大小不超过 5GB,所以我应该只担心 MDF 大小(将其固定在 5GB)并让 LDF 大小无限增长(我不能这样做,但如果它受到伤害性能那么我必须考虑一下)?

谢谢,维维克

Aar*_*and 9

这一切都取决于您希望在数据库达到 5GB 时发生什么。您是希望用户出错并且数据库变得无法使用句号,还是只想得到通知?

这还取决于您是否要与实际数据分开考虑日志大小。日志大小将根据多种因素波动,包括​​恢复模式、完整/日志/差异备份的频率、事务的平均/峰值大小、开始事务和提交/回滚之间的持续时间等。

最后,这取决于您是否愿意主动管理它。如果由于上述任何原因,您的日志达到 5GB,但您决定不希望因日志使用而停止数据库工作,如果最大日志大小设置为 5GB,但数据自己真的没有长大……

  • 我本来会问这一切,但我想不出有什么事情可以从我这里添加 +1 并再次 +1(如果可以的话),因为这正是他需要考虑的事情。 (3认同)
  • 您可以设置 SQL 代理警报、使用性能条件警报和数据库对象以在数据文件/日志文件大小 > xGB 时发出警报。但是警报不会阻止数据库的增长,只有设置文件大小的最大值才能做到这一点。 (2认同)