首页 > 解决方案 > 是否可以只恢复 sql server 数据库的一部分?

问题描述

我只想将生产数据库的一部分恢复到我的开发服务器。这可以做到吗?

我将尝试解释:我们在 SQL 2017 中有一个使用多个数据库的数据仓库。一个是我们的原始层,每天都会添加新的行并且永远不会改变。每个负载都从一个序列中获取一个 Executon_key。所有表共享相同的 Executon_key 序列。我的想法是根据这个序列对数据库进行分区,例如每几百万个序列号一个分区。每个分区都有自己的文件组。样本:

ALTER DATABASE [DW_PartitionTest] ADD FILEGROUP FG1;
ALTER DATABASE [DW_PartitionTest] ADD FILEGROUP FG2;
ALTER DATABASE [DW_PartitionTest] ADD FILEGROUP FG3;
ALTER DATABASE [DW_PartitionTest] ADD FILEGROUP FG4;
ALTER DATABASE [DW_PartitionTest] ADD FILEGROUP FG5;

CREATE PARTITION FUNCTION PartFunctionExecKeyMillionRange (int)  
AS RANGE RIGHT FOR VALUES (5000000, 10000000,12000000, 14000000);

CREATE PARTITION SCHEME PartSchemeExecKeyMillionRange  
AS PARTITION PartFunctionExecKeyMillionRange  
TO (FG1, FG2, FG3, FG4, FG5) 

只要当前 Execution_key > 某个范围的上边界值,就可以将此分区设置为只读。

我希望能够对该数据库进行部分备份,并且只将可写文件组恢复到我的开发服务器。我们不需要所有数据。

这可能吗?到目前为止,我所有的尝试都让我的数据库处于“失效状态”

标签: sql-serverbackuprestore

解决方案


推荐阅读