如何还原文件组数据库中的数据?

时间:2016-02-04 11:55:53

标签: sql-server sql-server-2008-r2 database-backups database-restore filegroup

我有一个包含两个文件组的数据库:

1- PrimaryFileGroup
2- ArchiveFileGroup

现在我有来自第一个文件组的备份: Primary.bak 。并使用以下脚本恢复:

USE [master]
GO
ALTER DATABASE MyDatabase
SET SINGLE_USER
    WITH

 ROLLBACK IMMEDIATE;

RESTORE DATABASE MyDatabase
    FILEGROUP = 'PRIMARY'
    FROM DISK = 'C:\Primary.bak'
    WITH PARTIAL, REPLACE 
GO

ALTER DATABASE SaleTabriz
SET MULTI_USER

它成功恢复。但我在 ArchiveFileGroup 中的另一个表会遇到以下错误,而我想从中选择:

  

查询处理器无法为表或视图生成计划   '客户'因为该表位于不是的文件组中   在线

我的错误是什么?

2 个答案:

答案 0 :(得分:0)

对不起,我没有足够的代表发布评论作为答案。

您是否尝试过将辅助文件组联机:

alter database xxxDB modify file (name = 'xxxDB_File1', online)

注意:如果文件组实际上处于脱机状态,我记得如果这不起作用,我知道在线设置文件组的另一种方法是从备份恢复文件。

答案 1 :(得分:-1)

RESTORE DATABASE MyDatabase
   FROM DISK = 'C:\Primary.bak',
   FILEGROUP = 'PRIMARY',
   FROM DISK = 'C:\Secondary.bak',
   FILEGROUP = 'SECONDARY'
   WITH PARTIAL, REPLACE ;
GO