还原文件和文件组备份 SQL Server 中的说明

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 281122
概要
可以备份和还原单独的文件或数据库中的文件组。 这使您不必还原数据库的其余部分还原已损坏的文件。单独或作为一个组,可以还原文件组备份中的文件。本文讨论了一些与还原文件和文件组相关的重要注意事项。
更多信息
事务日志备份必需

您必须使用文件和文件组备份和恢复事务日志备份一起操作。还原文件后,则必须还原自创建文件备份以使数据库处于一致状态后创建的事务日志备份。不需要应用事务日志备份,如果 SQL Server 可以确定的文件组不之后修改过该文件,或创建文件组备份。
SQL Server 7.0: 这要求 TruncateLogOnCheckpoint 选项则不设置这种情况下,除了数据库或文件和文件组备份中创建的事务日志备份。
SQL Server 2000 和 SQL Server 2005: 创建事务日志备份,您必须使用完整恢复或大容量日志记录恢复模型。有关恢复模型的详细信息,请参阅联机 SQL Server 丛书"选择恢复模型"主题。
注意: 您必须维护完整的文件备份设置和覆盖日志备份。媒体故障会导致整个数据库没有损坏的文件的备份的情况下无法恢复。

不能早停止单独的文件恢复。 由于这个原因,必须始终备份活动事务日志之前要还原文件备份。 如果事务日志已损坏,或者您想要将整个数据库恢复到特定点的时间必须在应用事务日志备份前还原整个文件备份集。要最大限度地减少事务日志损坏的风险,找到故障容错能力的存储上的事务日志。

如果整个数据库丢失
您必须有每个文件的备份或文件组中,database.You 还必须具有一个连续的事务日志备份链从最早的文件或文件组备份的时间到最新的文件或文件组备份的末尾。 事务日志备份链的起点必须包含最早的交易记录创建最早的文件备份时未完成的事务的起点。
: 如果不满足以上条件的任何一个,时不可能还原数据库。

必须将文件和文件组备份还原到匹配的数据库

只可以将文件和文件组备份还原到其所属的数据库。您不能使用相同的结构和文件名创建新的空白数据库,然后试图还原单个文件组备份 ; 您必须将其恢复到现有的数据库,或在另一位置执行完整数据库还原。 (在 SQL Server 2000 没有 RESTORE 数据库的部分数据库还原操作中添加一条新子句。请参阅部分数据库还原操作本文内下文中的讨论)。

注意: 不要试图分离数据库,然后 re-attach 它如果在倍数中的文件文件数据库或文件组将丢失。而是,从备份还原所需的文件组。如果数据库分离,该 re-attachment 失败,并就不得不从备份中还原整个数据库。这是因为数据库文件都基于上一个全局标识符 (GUID) 与数据库匹配。这种设计是要保护数据库的完整性,以便在不属于数据库的文件不混杂,这会导致严重的数据完整性问题。尽管您可以创建一个新的数据库具有相同文件名,GUID 不匹配。

SQL Server 不允许附加一个数据库包含多个文件的单个文件。 该附加寻找属于该附加的过程中的数据库的所有文件,如果它找不到相应的 GUID 与文件,它失败附加。同样,如果您具有相同的文件名和文件组与原始数据库中创建空白数据库、 替换某些在的文件,然后试图让 SQL 在启动时将数据库恢复,恢复失败所指示的该错误日志。例如:
2000-11-28 13:14:52.88 spid9    Opening file C:\MSSQL7\data\f2_Data.NDF. 2000-11-28 13:14:53.01 spid9    Cannot associate files with different databases.2000-11-28 13:14:53.14 spid9    Device activation error. The physical file name 'C:\MSSQL7\data\f2_Data.NDF' may be incorrect.				
部分数据库还原操作 (SQL Server 2000)

新的完整子句已添加到提供一种机制,可将数据库的部分还原到另一个位置,以便可以将已损坏或丢失的数据复制回原始数据库,RESTORE T-SQL 语句。部分还原操作使用的数据库文件组。例如对于您有一个主要的组的文件组组成的数据库和文件组 b。意外地删除驻留在文件组 B 的表。 如果您使用的文件组和事务日志备份可以恢复只文件组 B 以及主文件组中,以重新获得已删除的表的。使用完整的子句 RESTORE 语句允许您将子集还原到新的数据库或甚至另一台服务器。然后,您可以提取并重装到原始数据库中表的内容。

总是选择还原文件组一起还原主文件组。都不会被还原的文件组被标记为脱机,并且不能访问。不支持部分数据库还原的文件备份。

注意如果使用的 SQL Server 2005 的逐段还原初始阶段将替换 SQL Server 2000 部分数据库的还原。在 SQL Server 2005 完整选项执行安全检查的部分数据库还原中不可用。此行为允许此类用作生产数据库的数据库。有关在 SQL Server 2005 年逐段还原的详细信息,请参阅在"逐段还原方案 (完整恢复模式)"和"逐段还原方案 (简单恢复模型)"主题中 SQL Server 2005 丛书联机。

有关如何执行部分数据库还原的详细信息请参阅 SQL Server 2000 丛书联机"部分还原操作"和"RESTORE DATABASE"。

请参阅以下主题有关文件和文件组:

SQL Server 7.0 联机丛书主题:

物理数据库文件和文件组
"使用文件和文件组"
"创建文件组"
"创建文件组备份"
"使用文件组备份"
"还原文件组备份"
"文件和文件组备份和还原"

SQL Server 2000 丛书联机主题:

物理数据库文件和文件组
"使用文件和文件组"
"创建文件组"
使用文件备份
"文件和文件组"
"备份和恢复数据库"
"部分数据库还原操作"
"备份选定的数据库的部分"

SQL Server 2005 丛书联机主题:

物理数据库文件和文件组
"使用文件和文件组"
"创建文件组"
文件和文件组备份
"设计文件和文件组"
"备份和恢复数据库"
"逐段还原方案 (完整恢复模型)
"备份选定的数据库的部分"
分离可疑 sp_detach_db 9003 9004

警告:本文已自动翻译

属性

文章 ID:281122 - 上次审阅时间:10/26/2007 20:07:48 - 修订版本: 4.4

Microsoft SQL Server 2000 标准版, Microsoft SQL Server 7.0 标准版, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Express Edition, Microsoft SQL 2005 Server Workgroup

  • kbmt kbproductlink kbbackup kbinfo KB281122 KbMtzh
反馈