假设在下面几个时间段中,一个数据库积累插入了如下数据:

1.完整数据库备份
故名思意,完整数据库备份包括完整的数据库信息。它包括数据库的数据文件和备份结尾的部份活动事务日志。

完整备份基本语法如下:
BACKUP DATABASE AdventureWorks TO DISK = 'g:\backups\AdventureWorks.bak'
2.差异性数据库备份
差异性数据库备份包括自从上一次完整性备份以来所有改变的数据页,以及备份结尾的部份活动事务日志。

差异备份和完整备份的语法很相似,唯一不同的是加上了DIFFERENTIAL选项,如下:
BACKUP DATABASE AdventureWorks TO DISK = 'g:\backups\AdventureWorks.bak' WITH DIFFERENTIAL
3.事务日志备份
事务日志备份的内容是从还未被备份的事务日志开始,直到备份结尾的最后一个事务日志为止。需要注意的是执行事务日志的前提是你的数据库恢复模型必须是完整恢复模型或是批量日志恢复模型(恢复模型)

通常情况下大家会以为完整性备份会截断事务日志,以便下一次备份日志时不再重复备份,但这是错误的。完整备份不会截断事务日志。

事务日志备份的语法和完整备份相似,唯一不同的是第二个关键字,把database换成log,如下:
BACKUP LOG AdventureWorks TO DISK = 'g:\backups\AdventureWorks.bak'
4.你应该选择哪种备份类型呢?
答案取决于你本身,取决你的备灾恢复需求,取决于你可以接受的丢失数据量的多少,取决于你日常数据库的备份操作,取决于数据库从灾难中恢复过来的时间。
假如你的环境允许丢失5分钟的数据,那么你必须每5分钟执行一次某种备份。对于上述的几种备份来说,每5分钟执行一次完整备份的规则显得过于频繁且影响其他用户的操作。对于差异备份来说,如果一次完整备份后,数据库又进行了大量的修改,那么差异备份同样不适合。所以,上述情况用事务日志备份应该是最合适的,因为它仅备份从最后一次事务日志备份后所产生的新事务。
然而,当你从事务日志恢复数据库时,你需要还原所有相关的备份,包括从起始的数据库备份点到最后一个事务日志。假如还原点是很久以前的时间点,那么要还原的事务日志也许会很多很多。

你可以使用差异备份来提前事务日志备份的起始还原点。但是,对于一个行动的数据来说,差异备份会比事务日志备份占用更长的时间,影响更多的数据库操作和消耗更多的磁盘空间。

当你考虑使用哪种备份方案时,你可以参考下面这几点:
- 你能接受丢失多少数据?
- 备份会影响数据库日常操作吗?
- 是否有一个高可用的维护计划来执行备份操作?
- 你能接受的恢复时间是多少?
- 是否需要具有恢复某一时间点的功能?这种情况下,事务日志备份是必须的。
- 是否有足够的存储空间来保存备份文件?
- 是否有一套高可用性的解决来完成备灾恢复计划?比如:群集, loggshipping, 数据库镜像等等
本文翻译自sqlbackuprestore,更多精彩内容请浏览http://www.sqlbackuprestore.com
分享到:
相关推荐
### SQL Server备份、还原与修复方法详解 #### 一、SQL Server备份概述 SQL Server备份是确保数据库安全的重要措施之一。通过定期备份数据库,可以在数据丢失或系统故障时迅速恢复到正常状态,避免数据损失带来的...
#### 二、使用SQL Server Management Studio备份和还原数据库 ##### 2.1 备份数据库 备份数据库的基本步骤如下: 1. 在SQL Server Management Studio中打开目标数据库,从右键菜单中选择“所有任务 -> 备份数据库...
还原数据库具有还原到新库和原库的功能,工具已兼具开机自动启动的功能,备份功能只针对本机服务器,不能备份还原远程数据库。工具基本为绿色软件,有.net的windows系统,基本无需任何安装,直接使用。
将Sql Server 2000中的数据库备份文件还原到sql2005中 将Sql Server 2000中的数据库备份文件还原到Sql Server 2005中是一个常见的问题。在这个过程中,我们需要了解Sql Server 2000和Sql Server 2005之间的差异,...
#### 二、SQL Server 2014 数据库还原的方法 SQL Server 2014提供了多种方法来还原数据库,包括但不限于以下几种: 1. **通过SQL Server Management Studio (SSMS) 还原** - 打开SQL Server Management Studio并...
本文将详细阐述如何使用SQL Server 2000进行数据库备份和还原,并介绍一款名为"数据库备份还原.exe"的实用工具,以简化这一过程。 一、SQL Server 2000数据库备份 1. 备份类型: - 完全备份:备份整个数据库,...
SqlServer数据库的备份与还原是数据库管理中的核心操作,它们确保了数据库的稳定性和数据的安全性。在SqlServer2017中,可以采用手动备份和自动备份两种方式进行数据库的备份,同时在必要时进行还原操作。 首先,...
### SQL Server 还原备份与日志管理 #### 一、SQL Server 数据库备份与还原基础知识 在讨论具体的步骤之前,我们先了解一些基础概念。 **1.1 备份类型** - **完整备份(Full Backup)**:备份整个数据库的所有...
### SQL Server 2000 数据库备份与还原详解 #### 一、SQL Server 2000数据库备份 在进行任何重要的数据操作之前,备份是必不可少的一个环节。本章节将详细介绍如何使用SQL Server 2000进行数据库备份。 ##### 1.1...
2. **还原模式**:在还原完整备份时,必须使用`NORecovery`模式,否则无法继续后续的差异备份还原。 3. **恢复模式**:最终需要执行一次带有`WITH RECOVERY`选项的命令,以确保数据库恢复正常工作状态。 #### 总结 ...
为了实现上述功能,你需要在项目中引用Microsoft.SqlServer.Smo和Microsoft.SqlServer.SqlManagementUtils库。在压缩包文件"SQL Server数据库备份与恢复"中,可能包含了详细的C#代码示例,你可以参考这些示例来理解...
本文将深入探讨“Sqlserver2005数据库还原备份工具”以及相关的知识点。 首先,我们关注的是“备份”。在SQL Server 2005中,备份是预防数据丢失的关键步骤。备份操作可以创建数据库的完整副本,以便在系统故障、...
### 批处理(BAT)实现SQL Server数据库备份与还原 #### 一、概述 在日常的数据库维护工作中,定期对数据库进行备份是非常重要的一个环节,它能够帮助我们防止因硬件故障、软件错误或其他不可预见的情况导致的数据...
### SQL Server 2005 数据库备份与还原详解 #### 一、SQL Server 2005 备份概述 SQL Server 2005 是一款强大的关系型数据库管理系统,为企业提供了高度可靠的数据存储解决方案。为了确保数据的安全性和系统的稳定...
标题 "SMO+PowerShell 实现SQLServer数据库的备份与还原" 涉及到的是在SQL Server环境中,使用SQL Server Management Objects (SMO) 和 PowerShell脚本来自动化数据库的备份和恢复过程。这是一种高效且灵活的方法,...
以下是一个简单的C#代码示例,展示如何使用SMO创建一个完整数据库备份: ```csharp using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common; public void BackupDatabase(string...
本话题主要围绕"SqlServer数据库备份还原工具"进行深入探讨。 首先,数据库备份是数据保护的重要手段,防止因硬件故障、软件错误或人为操作失误导致的数据丢失。在`SqlServer`中,我们可以使用内置的T-SQL命令(如`...
对于SQL Server这样的大型关系型数据库管理系统,定期备份、还原以及附加和分离数据库是常见的维护操作。本项目聚焦于提供一个C#编写的工具,实现了对SQL Server数据库的自动化处理,使得这些繁琐的任务变得简单高效...
2. 压缩备份:利用SQL Server 2000的压缩功能,减少备份文件的大小。 3. 事务日志截断:定期截断事务日志,释放空间,但不能在简单恢复模型下进行。 4. 验证备份:使用`RESTORE VERIFYONLY`命令验证备份文件的完整...