二、恢复模型
1、在你开始备份一个SQL Server数据库之前,你需要知道该数据库使用了哪个恢复模型。这里有三种不同的恢复模型:FULL、BULK_LOGGED和SIMPLE。
(1) FULL恢复模型向你提供了最大的恢复灵活性。新数据库默认使用的就是这种恢复模型。利用这种模型,你可以恢复数据库的一部分或者完全恢复。假设交易记录(transactions log)还没有被破坏,你还可以在失败之前恢复出最后一次的已提交(committed)交易。在所有的恢复模型中,这种模型使用了最多的交易记录空间,并轻微影响了SQL Server的性能。
(2) BULK_LOGGED恢复模型比FULL模型少了一些恢复选项,但是进行批操作(bulk operation)时它不会严重影响性能。在进行某些批操作时,由于它只需记录操作的结果,因此它使用了较少的记录空间。然而,用这种模型,你不能恢复数据库中的特定标记,也不能仅仅恢复数据库的一部分。
(3) SIMPLE恢复模型是这三种模型中最容易实施的,它所占用的存储空间也最小。然而,你只能恢复出备份结束时刻的数据库。
2、为了找出你所用数据库的恢复模型,可以运行下面的命令,该命令应该返回FULL、BULK_LOGGED和SIMPLE这三个值中的某一个:
SELECT dbpropertyex("database", "recovery")
为了改变数据库的恢复选项,运行下面的命令:
ALTER DATABASE database name SET RECOVERY {FULL SIMPLE BULK_LOGGED}
除数据之外,SQL Server备份还包括数据库大纲(schema)和数据库元数据(即数据库文件、文件组和它们的位置)。SQL Server允许在备份时用户依然使用数据库,所以在备份期间发生的交易也记录到备份中去了。