数据库的备份与恢复

数据库的备份与恢复,第1张

SQL2000数据库备份概念

SQL

SERVER

2000有四种类型是:数据库、事务日志、差异、文件和文件组

数据库备份是创建完事数据库的复本。它并非将所有的页都复制到备份集,而只将实际包含数据的页复制到备份集。数据页和事务日志页均复制到备份集。

数据库备份用于重新创建数据库,使其恢复到BACKUP语句完成时的状态。如果数据库只存在数据库备份,那么数据库只能恢复到服务器或数据库发生故障前最后一次数据库备份时的状态。

事务日志备份仅制作日志文件的复本。日志文件备份本身不能用于还原数据库。日志文件用于在数据库还原后将数据库恢复到原始故障点。

例如,某站点在星期天晚上执行数据库备份,而在其它每个晚上执行日志备份。如果数据库的某个数据磁盘在星期二2:30丢失,则该站点可以:

1备份当前事务日志

2还原从星期天晚上开始的数据库备份

3还原从星期一晚上开始的日志备份,以将数据库前滚。

4还原故障之后的日志备份。这将使数据库前滚到故障发生的那一刻。

事务日志恢复需要从数据库备份的那一刻到磁盘丢失那一刻之间所进行的一边串不间断的事务日志备份。

差异备份只追寻数据库中自上一次数据库备份之后修改过的所有页的复本。差异日志主要用于使用频繁的系统,一旦这类系统中的数据库发生故障,必须尽快使其重新联机。差异备份比完事数据库备份小,因此对正在运行的系统影响较小。

例如,某个站点在星期天晚上执行完事数据库备份。在白天每隔4小时制作一个事务日志备份集,并用当天的备份重写头一天的备份。每晚则进行差异备份。如果数据库的某个数据磁盘在星期四上午9:12出现故障,则该站点可以:

1备份当前事务日志。

2还原从星期天晚上开始的数据库备份。

3还原从星期三晚上开始的差异备份,将数据库前滚到这一时刻。

4还原从早上4点到8点的事务日志备份,以将数据库前滚到早上8点。

5还原故障之后的日志备份,这将使数据库前滚到故障发生的那一刻。

SQL2000支持备份或还原数据库中的个别文件或文件组。这是一种相对较完善的备份和还原过程,通常用在具有较高可用性要求的超大型数据库中。如果可用的备份时间不足以支持完事数据库备份,则可以在不同的时间备份数据库的子集。

例如,某站点需要花三小时备份数据库,并且每天只能用两个小时执行备份。该站点可在一个晚上备份一半文件或文件级,并在第二个晚上备份另一半。如果包含数据库文件或文件组的磁盘出现故障,那么该站点可以只还原丢失的文件或文件组。

该站点还必须进行事务日志备份,并且在备份文件或文件组之后必须还原所胡事务日志备份。还可以从完事数据库备份集中还原文件和文件组。这将回忆恢复速度,因为在第一步只还原已损坏的文件或文件组,而不是整个数据库。

必须将所有数据库还原到相同的标记,以确保各个数据库间的事务状态一致。有关详细信息,请参阅标记的事务、完整备份和日志备份。如果目标系统中只有一个服务器,请确保还原了所有日志备份集(除了最新日志备份集以外)。有关详细信息,请参阅查看已还原备份的历史记录。如果没有还原所有日志备份集,并且当前没有运行还原作业,请运行还原作业(必要时,请手动运行)。如果存在尚未完成的可还原备份集,则作业将处理它们,直到所有备份集全部还原为止。如果目标系统中有多个服务器,则必须将所有服务器还原到相同的备份集。您必须查看每个服务器的还原历史记录,确保所有服务器上还原的最新日志备份集都是相同的。如果不同,则必须在需要还原最新日志备份集的每个服务器上手动运行还原作业。当所有的服务器都还原为相同的备份集后,最终的备份集可以手动还原。adm_BackupHistory 表是记录源系统日志传送过程历史记录的核心。所有执行的备份工作都记录到此表中。目标系统中的所有服务器都从此表读取信息,以获取执行其还原工作所需的信息。注意 如果从备份还原 BAM 主导入数据库,则还应该使用该 BAM 主导入数据库备份之前的备份来还原 BAM 存档数据库、BAM 星型架构数据库和 BAM 分析数据库。有关详细信息,请参阅备份和还原 BAM。

注意 如果将源数据库的完整备份或日志备份从备份 BizTalk Server 作业放置它们的位置上移走,则应该更新目标系统上 bts_LogShippingDatabases 表中该数据库的相关行,将 LogFileLocation 或 DBFileLocation 设置为目标系统应从中读取完整/日志备份文件的新位置。运行 bts_ConfigureBtsLogShipping 存储过程时,将填充此表。默认情况下,这些列设置为空,这表明目标系统应该从 adm_BackupHistory 表中存储的位置上读取这些备份文件。

重要提示 请总是在某个安全位置保留备份文件的一个副本。即使您进行了日志备份,在没有备份文件的情况下也无法还原数据库。

前提条件若要执行此过程,必须以 SQL Server sysadmin 固定服务器角色成员的帐户登录。还原数据库 (SQL Server 2008 R2/SP1)在确定为目标系统的计算机上,依次单击“开始”、“所有程序”、“Microsoft SQL Server 2008 R2”和“SQL Server Management Studio”。在“连接到服务器”对话框中,指定目标系统上 SQL Server 的名称,然后单击“连接”,连接到相应的 SQL Server。在“Microsoft SQL Server Management Studio”中,依次双击相应的服务器、“SQL Server 代理”和“作业”。在详细信息窗格中,右键单击“BTS 日志传送 - 获取备份历史记录”,然后单击“禁用”。在“禁用作业”对话框中,该状态更改为“成功”。在详细信息窗格中,右键单击“BTS 日志传送 - 还原数据库”,然后单击“禁用”。在“禁用作业”对话框中,该状态更改为“成功”。在详细信息窗格中,右键单击“BTS 日志传送 - 还原到标记”,然后单击“作业开始步骤…”。出现“开始 <servername>上的作业”对话框时,单击“步骤 ID 1”(默认情况下处于选中状态),然后单击“开始”。 “开始 <servername>上的作业”对话框将关闭,而“开始作业 - <servername>”对话框仍打开。此对话框将显示正在运行的作业的进度和状态。当作业完成后,检查“状态”是否为成功,然后单击“关闭”。如果“状态”为错误,请单击“消息”字段中的链接,以获取有关该问题本质的详细信息。如果该作业成功,则 SQL Server 代理作业和 BizTalk Server 数据库会还原到目标系统。在以前编辑 SampleUpdateInfo.xml 文件所使用的、运行 BizTalk Server 的计算机上打开命令提示。导航到以下目录:驱动器:\Program Files\Microsoft BizTalk Server 2010\Schema\Restore。注意 在64 位计算机中,请浏览至以下文件夹:%SystemDrive%\Program02Files02(x86)\Microsoft02BizTalk02Server022010\Bins32\Schema\Restore。

在命令提示符下,键入以下内容:cscript UpdateDatabase.vbs SampleUpdateInfo.xml此脚本可更新存储其他数据库的位置信息的所有表。注意 您只需在 BizTalk 组中的一个服务器上运行 UpdateDatabase.vbs。

注意 在64 位计算机上,必须从 64 位命令提示符下运行 UpdateDatabase.vbs。

将编辑后的 SampleUpdateInfo.xml 文件复制到 BizTalk Server 组中每个运行 BizTalk Server 的计算机上的 驱动器:\Program Files\Microsoft BizTalk Server 2010\Schema\Restore 目录中。注意 在64 位计算机中,请浏览至以下文件夹:%SystemDrive%\Program02Files02(x86)\Microsoft02BizTalk02Server022010\Bins32\Schema\Restore。

按照步骤 7 中的说明,在 BizTalk Server 组中的每个计算机上打开命令提示符窗口。导航到以下目录:驱动器:\Program Files\Microsoft BizTalk Server 2010\Schema\Restore。注意 在64 位计算机中,请浏览至以下文件夹:%SystemDrive%\Program02Files02(x86)\Microsoft02BizTalk02Server022010\Bins32\Schema\Restore。

在命令提示符下,键入以下内容:cscript UpdateRegistry.vbs SampleUpdateInfo.xml此脚本可更新存储其他数据库的位置信息的所有注册表项。注意 您需要在 BizTalk 组中的每个服务器上运行 UpdateRegistry.vbs。

注意 在64 位计算机上,必须从 64 位命令提示符下运行 UpdateRegistry.vbs。

重新启动所有 BizTalk Server 服务。有关如何重新启动 BizTalk Server 服务的详细信息,请参阅如何启动、停止、暂停、恢复或重新启动 BizTalk Server 服务。还原数据库后,必须重新启动 Windows 管理规范服务。依次单击“开始”、“运行”,然后键入 services.msc,最后单击“确定”。如果显示“用户访问控制”对话框,请验证描述的 *** 作是否为您希望的 *** 作,然后单击“继续”。右键单击“Windows 管理规范”,然后单击“重新启动”。在用于管理 BizTalk Server 的计算机上,依次单击“开始”、“所有程序”、Microsoft BizTalk Server 2010,然后单击“BizTalk Server 管理”。在控制台树中,右键单击“BizTalk 组”,然后单击“删除”。在控制台树中,右键单击“BizTalk Server 2010 管理”,然后单击“连接到现有组”。在“连接到现有 BizTalk Server 配置数据库”对话框的“SQL Server 名称”下拉列表框中,选择充当 BizTalk 管理数据库宿主的 Microsoft SQL Server 实例的名称。在选择 SQL Server 的实例时,BizTalk Server 将自动尝试检测该计算机上的 BizTalk Server BizTalk Server 数据库。在“数据库名称”下拉列表框中,选择要连接到的 BizTalk 管理数据库 (BizTalkMgmtDb),然后单击“确定”。 BizTalk Server 管理控制台将 BizTalk 组添加到控制台树中。您的BizTalk Server 现已还原,应该正在运行。您现在应该配置备份 BizTalk Server 作业,以开始向新目标服务器写入备份。还应该重新配置新的目标系统。重要提示 如果使用的是规则引擎,则在还原数据库后,必须重新启动 BizTalk Server 组中的每个服务器上的规则引擎更新服务。有关如何重新启动规则引擎更新服务的详细信息,请参阅如何启动、停止、暂停、恢复或重新启动 BizTalk Server 服务。

注意 如果使用的是 BAM,则此时还原 BAM 数据库。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6882790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存