繁体   English   中英

数据库文件组-仅在新服务器上还原1个文件组

[英]Database Filegroups - Only restore 1 filegroup on new server

有没有一种方法可以备份SQL数据库中的某些表? 我知道我可以将某些表移到不同的文件组中,并在这些文件组上进行备份。 唯一的问题是,我认为您需要备份所有文件组和事务日志,才能在其他服务器上还原数据库。

我需要在其他服务器上还原备份的原因是这些是客户数据库的备份。 例如,我们可能有一个远程客户,需要获得他们4GB数据库的副本。 两个表占用了90%的空间,我们不需要这些表,因为它们仅存储图像。 当前,我们必须复制数据库并将其上传到FTP站点…对于较大的数据库,这可能会花费大量时间,并且我们需要减小数据库的大小。

我可以想到的另一种方式是对数据库进行完整备份,然后将其还原到客户端SQL Server上。 然后连接到新的临时数据库并删除两个表。 完成此操作后,我们可以备份数据库。 此解决方案的唯一问题是,在运行查询时,它可能会使用大量系统还原,因此其效果不理想。

所以我的想法是使用两个文件组。 主文件组将托管所有表,但第二个文件组中的两个表除外。 然后,当我们需要数据库副本时,我们只需备份主文件组。 我已经进行了一些测试,但是无法正常工作。 有什么建议么? 谢谢

基本上,使用2个文件组的方法似乎是合理的。

我想您正在使用SQL Server的两端,但是您应该分别说明每种情况是否确实如此,以及哪个版本(企业版,标准版,快速版等)以及哪个发行版2000、2005、2008, (2012年?)。

SQL Server中的表备份在这里是一匹致命的马,仍然时不时地引起人们的关注。 基本上,这不是内置备份功能集中的功能。 正如您正确指出的那样,可以将部分备份功能用作解决方法。 另外,如果您只是想将快照从表的子集转移到另一台服务器,则可以使用ftp尝试使用bcp实用程序,如上面链接的文章中的答案之一或导出/导入数据向导所建议的那样。 为了完善的表备份解决方案,并为SQL Server解决方法列表,有这个(可能还有其他?)第三方索赔,让表对象的个体回收,但遗憾的是似乎并没有提供单独的对象备份软件, “对象级别恢复本机“由Red Gate” (我没有使用该特定工具的隶属关系或经验)。

根据您对从部分数据库备份还原的更具体的关注:

我相信您需要所有文件组和事务日志的备份,才能在其他服务器上还原数据库

1)首次尝试使用它时可能会遇到一些困难,但是您可以从SQL Server 2000之前的部分备份中执行还原,(请参阅此处的参考资料)

2)从2005年起,您可以选择今天进行部分还原,并且如果需要,可以稍后还原数据库的其余部分。 您不需要包括所有文件组-您始终包括主文件组,并且如果数据库是简单恢复模式,则需要添加所有读写文件组。

3)仅当数据库处于批量或完全恢复模式并且要将更改还原到自上次还原以来已变为读写的只读文件组时,才需要应用日志备份。 由于您期望对这些表进行更改,因此您可能不必担心只读文件组,因此不必担心运送和应用日志备份

您可能还会调查一段时间,是否其他任何SQL Server功能,合并复制或上述功能(bcp,导入/导出向导)是否可以提供更简单或更充分满足您需求的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM