将多个数据库合并到单个数据库中

Moo*_*ght 16 sql database merge sql-server-2008

全部,我必须创建一个具有基本架构的数据库.该数据库将变得很大(100GB以上),并将用作数据仓库.现在,这个数据库的创建目前正在通过C#代码进行"一击"; 从许多不同来源提取数据.由于数据量庞大,这种创建导致了一些问题.已决定不是一次创建单个数据库; 至

  1. 创建几个包含核心数据表的较小数据库.
  2. 将较小的数据库合并为一个较大的数据库.
  3. 构建架构/添加相关约束.

我的问题是双重的.

1.合并多个数据库(具有相同的模式/表结构)的最佳方法是什么?

2.有没有更好的方法来创建这个数据仓库(超大型数据库)?

谢谢你的时间.

sol*_*anv 7

对于你的第一个问题:你提到了相同的模式和表结构,在这种情况下,它只是将数据从一个DB表(即较小的DB)移动到另一个(即较大的DB).为此必须确保

1)数据没有重复(至少在PK领域)

2)将数据从一个db移动到另一个db for sql server refer

将数据从一个数据库传输到另一个数据库


小智 6

SQL-Hub(http://sql-hub.com)允许您将具有相同模式的多个数据库合并到一个数据库中.有一个免费许可证可以让您从UI执行此操作,但如果您希望安排该过程自动运行,则可能需要为许可证付费.但是,如果数据量非常大,可能会对您想要实现的目标有点慢 - 您可以尝试一下.

也有一些文章在这里是看这几类的问题,一些其他的选择.


usr*_*usr 5

sola的回答很好,并且会起作用。这是另一种选择:完全不合并。在导入创建的多个基本表之上创建一个“ union-all”视图。这样可以节省大量数据移动。这样的视图称为分区视图