【问题标题】:How to Restore data in File group databases?如何恢复文件组数据库中的数据?
【发布时间】:2016-02-04 11:55:53
【问题描述】:

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

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 中的另一个表出现以下错误,而我想从中进行选择:

查询处理器无法为表或视图生成计划 “客户”,因为该表驻留在一个文件组中,而该文件组不是 在线

我的错误是什么?

【问题讨论】:

  • 您需要发布更多详细信息,最好是重现此内容的脚本。
  • 我没有任何脚本。所有脚本均参考备份和恢复文件组向导。
  • 检查thisthis,也许你会发现一些有用的东西。

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


【解决方案1】:

对不起,我没有足够的代表发表评论因此答案。

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

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

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

【讨论】:

  • 当我运行这个脚本时出现这个异常:ONLINE' is not a known CREATE/ALTER DATABASE option.
  • 道歉 - 我是凭记忆工作的,但我只是回去检查我从哪里得到信息,然后找到了 URL (sqlnotes.info/2013/05/09/…)。请确保您有一个恢复计划,以防出现问题,因为这是一个“未记录的功能”。告诉我你的进展情况。
【解决方案2】:
RESTORE DATABASE MyDatabase
   FROM DISK = 'C:\Primary.bak',
   FILEGROUP = 'PRIMARY',
   FROM DISK = 'C:\Secondary.bak',
   FILEGROUP = 'SECONDARY'
   WITH PARTIAL, REPLACE ;
GO

【讨论】:

  • 很遗憾,您的脚本错误(例外:'FILEGROUP' 不是可识别的设备类型选项。)请测试然后回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-28
  • 2011-07-21
  • 2017-03-09
  • 2011-04-29
  • 2019-12-20
相关资源
最近更新 更多