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

Sql 数据库文件组-仅在新服务器上还原1个文件组,sql,database,restore,Sql,Database,Restore,有没有办法备份SQL数据库中的某些表?我知道我可以将某些表移动到不同的文件组中,并在这些文件组上执行备份。唯一的问题是,我认为您需要备份所有文件组和事务日志,以便在不同的服务器上恢复数据库 我需要在其他服务器上恢复备份的原因是这些是客户数据库的备份。例如,我们可能有一个远程客户,需要获取他们4GB数据库的副本。90%的空间被两个表占用,我们不需要这些表,因为它们只存储图像。目前,我们必须复制数据库并将其上载到FTP站点…对于较大的数据库,这可能需要大量时间,我们需要减少数据库大小 我可以想到的另

有没有办法备份SQL数据库中的某些表?我知道我可以将某些表移动到不同的文件组中,并在这些文件组上执行备份。唯一的问题是,我认为您需要备份所有文件组和事务日志,以便在不同的服务器上恢复数据库

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

我可以想到的另一种方法是对数据库进行完整备份,并在客户机SQL server上进行恢复。然后连接到新的临时数据库并删除这两个表。完成后,我们可以对数据库进行备份。此解决方案的唯一问题是,在运行查询时可能会使用大量的系统还原,因此不太理想

所以我的想法是使用两个文件组。主文件组将承载除第二个文件组中的两个表之外的所有表。然后,当我们需要数据库的副本时,我们只需要备份主文件组。
我做了一些测试,但一直无法让它工作。有什么建议吗?谢谢

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

我想您在两个方面都在使用SQL Server,但您应该澄清每一个方面是否确实如此,以及哪些版本(企业版、标准版、express等)和哪些版本2000、2005、2008(2012?)

SQL Server中的表备份是一匹死马,它仍然时不时地受到良好的鞭策。基本上,这不是内置备份功能集中的功能。正如您正确指出的那样,部分备份功能可以用作一种变通方法。此外,如果您只想将快照从表的子集传输到另一台服务器,可以使用ftp尝试使用bcp实用程序,如上面链接的文章中的一个答案所示,或者使用“导出/导入数据向导”。为了完善SQL Server的表备份解决方案和解决方法列表,有一个(可能还有其他?)第三方软件声称允许单独恢复表对象,但不幸的是,它似乎不提供单独的对象备份。(我没有使用此特定工具的联系或经验)

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

我认为您需要备份所有文件组和事务日志 在其他服务器上还原数据库的步骤

1) 第一次尝试使其工作时可能会遇到一些困难,但您可以从SQL Server 2000开始执行部分备份的恢复(作为参考,请参阅)

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

3) 只有在数据库处于大容量或完全恢复模式,并且要将更改恢复到自上次恢复以来已变为读写的只读文件组时,才需要应用日志备份。由于您希望对这些表进行更改,因此可能不关心只读文件组,也不关心日志备份的传送和应用


您还可以在一段时间内研究其他SQL Server功能、合并复制或上述功能(bcp、导入/导出向导)是否可以提供更简单或更充分满足您需要的解决方案。

除了澄清每端使用的是哪些数据库服务器/版本/发行版之外,您还可以,如果仍然是可能的,考虑如果你正在使用多个版本,或者SQL Server -2005,如果你只使用一个,那么添加一些特定的标签,比如SQLServer。这将有助于吸引那些选择回答问题的观众,因为这些问题似乎更明确地属于他们的专业领域。