如何从 SQL Server 中的备份还原文件组

use*_*610 5 sql-server-2005 sql-server sql-server-2008-r2

我需要有关如何从从另一个相同数据库服务器获取的文件组备份恢复数据库中的文件组的指导。是否可以通过为文件组运行恢复数据库来恢复文件组。

我试图从备份中恢复文件组,如下所示

RESTORE DATABASE <DBName > FILEGROUP = 'MFG12' FROM DISK = 'E:\MFG12.bak'
  WITH RECOVERY
Run Code Online (Sandbox Code Playgroud)

备份集保存现有DBNAME数据库以外的数据库的备份。

当我试图恢复到同一个 DB 时,恢复工作完美,

Processed 840976 pages for database 'DB', file 'MFG12_File' on file 1.
RESTORE DATABASE ... FILE=<name> successfully processed 840976 pages in 59.375 seconds  
(110.654 MB/sec).
Run Code Online (Sandbox Code Playgroud)

当我针对文件组的分区运行 Select 查询时。它抛出错误

 One of the partitions of index '' for table 'xyz'
 (partition ID 72057594656129024) resides on a filegroup ("MFG12")
 that cannot be accessed because it is offline, restoring,
 or defunct. This may limit the query result
Run Code Online (Sandbox Code Playgroud)

当我看到所有文件组的状态时。

我看到文件组 MFG 12 之一具有 status = "Restoring" ,How to set back to Online Mode。

当我也尝试恢复日志文件时。我得到以下错误

The roll forward start point is now at log sequence number (LSN) 66787000000001800001.
Additional roll forward past LSN 66787000000008900001 is required to complete the 
restore sequence”. 
Run Code Online (Sandbox Code Playgroud)

请帮助我如何恢复丢失的文件组数据,即使文件组备份是从另一台服务器或同一服务器 DB 中的另一个相同数据库中获取的

Pat*_*ler 3

  1. 恢复文件组后,您需要对恢复的数据库进行尾日志备份。
  2. 恢复您可能需要恢复的最新差异。
  3. 将所有 tlog 备份恢复到 norecovery。
  4. 将尾部日志备份从步骤 1 恢复到恢复。