在 SQL Server 中使用简单恢复模型时何时会丢失数据?

在 SQL Server 中使用简单恢复模型时何时会丢失数据?

微软对在 SQL Server 数据库中使用简单恢复模型有如下说明:

自最近一次备份以来的更改不受保护。如果发生灾难,必须重新进行这些更改。

在现实世界中,这种灾难最常见的例子是什么?

答案1

硬盘崩溃、光盘上的数据损坏——任何需要您备份的事情。

答案2

SQL Server 数据库至少包含 1 个数据文件和 1 个日志文件。这些文件包含正在提交或回滚的事务的数据和记录。所有事务都记录到事务日志中,并定期进行检查点,以确保将日志记录刷新到磁盘。当有序关闭时也会发生这种情况:SQL Server 对所有数据库执行检查点,关闭所有内部数据库跟踪结构,并退出 SQL Server 进程。

有许多因素可能导致损坏,但一般来说,当任何因素中断将数据写入上述任一文件时,就会发生损坏。这可能包括以下内容:

  • 断电 - 这将阻止检查点执行上述检查点。如果 SQL Server 正在将数据写入磁盘,也会导致问题。
  • I/O 子系统问题 - 包括以下任何软件或者硬件涉及读取和写入磁盘(HBA 卡或驱动程序、光纤、SAN 存储)。

更多信息:SQL Server 2000 I/O 基础知识

答案3

不要忘记最可能的原因...人为错误。删除表等。即使处于完全恢复模式,您仍然必须实际执行备份,否则您将有效地运行在简单恢复模式下。在测试环境中,不执行初始备份可能很容易被忽视。

相关内容