数据库和日志文件的自动增长

Nik*_*aur 0 sql-server

我很困惑这个自动增长属性对 SQL Server 中的任何数据库或日志文件的作用。

根据我的理解:

  1. 如果我们将数据库的 autgrowth 设置为受限,那么它的大小将随着数据的增加而增加到此限制,并且在停止增加其大小后将导致数据库故障。
  2. 如果我们将数据库的 autgrowth 设置为不受限制,那么它将一直增长到磁盘空间已满。
  3. 如果我们将日志文件的 autgrowth 设置为受限,那么日志大小将增加到指定的限制,然后它将开始丢弃旧日志,新日志将存在于日志中。
  4. 如果我们将日志文件的 autgrowth 设置为不受限制,那么它将一直增长,直到磁盘空间已满。

请帮助我知道这个假设是否正确,如果是错误的,请纠正我。

Rem*_*anu 7

如果我们将日志文件的 autgrowth 设置为受限,那么日志大小将增加到指定的限制,然后它将开始丢弃旧日志,新日志将存在于日志中。

这是错误的。如果它必须增长,它将增长到最大大小,然后进一步增长请求将导致失败。您将事情与log truncation混淆,这是允许重用日志物理文件的过程(因此它不必增长)。我有一篇文章解释了日志如何增长以及截断在其中的作用,请参阅如何收缩 SQL Server 日志