在我目前的工作中,我最近发现我们的 MS SQL 数据库服务器没有为它们设置备份设备。当我询问其他 IT 成员时,得到的回答是服务器本身正在定期备份,包括数据库文件,因此进行 SQL 服务器备份将是多余的。
我确信这是一个非常初级的问题,但它让我思考:为什么 MS SQL 服务器以及其他 RDBMS 系统都有自己的备份系统?大多数其他应用程序没有这个。我的第一个想法是只有 RDBMS 可以对数据库文件执行完整性检查。
还有哪些其他原因?我认为我们需要改变我们的备份和恢复程序,但我需要确保我有一个可靠的理由这样做,因为这需要额外的投资。
如果 SQL Server 正在运行,“系统”备份将 (a) 不包括 SQL Server 文件,或者 (b) 它们可能处于不一致的状态1。
确保定期进行 SQL Server 本机备份,并测试还原过程。
此外,请注意缺少备份设备并不一定意味着没有 SQL Server 本地备份发生。您需要查看数据库中的
dbo.backuphistory
表msdb
以查看是否进行了备份。查看备份历史记录的一种方法是运行以下查询:1 - 请参阅https://msdn.microsoft.com/en-us/library/ms175536.aspx,了解有关运行 SQL Server VSS 编写器服务以确保在 SQL Server 之外运行备份时备份一致的详细信息。
大多数服务器备份可以有效地代替“简单”备份解决方案,您只希望完成数据库的完整备份,
“FULL”模式下的数据库备份将允许您将数据库恢复到故障点(如果您进行尾日志备份)
这意味着您最终可能几乎没有损失,或者如果数据库中引入了问题,您可以进行时间点恢复并将数据库恢复到问题发生之前(比如有人决定在 13 处截断一些表:27 您可以恢复数据库,然后在 13:26 之前运行事务日志,您仍然拥有所有数据。)
我们目前同时运行这两者,服务器备份使机器备份并运行,但 SQL 服务器备份用于使数据库备份并运行到可能的最近点