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

微软说,在你的SQL Server数据库中使用简单恢复模型如下:

自最近一次备份以来的更改不受保护。 在发生灾难时,必须重做这些更改。

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

硬盘崩溃,光盘上的数据损坏 – 任何需要你去备份的东西。

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

有很多事情可能会导致腐败,但是一般来说,如果有任何事情中断数据写入这些文件,就会发生腐败。 这可以包括以下内容:

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

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

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