当前位置:  开发笔记 > 编程语言 > 正文

将数千个数据库合并为一个数据库的想法

如何解决《将数千个数据库合并为一个数据库的想法》经验,为你挑选了1个好方法。

我们有一个SQL服务器,每个客户端都有一个数据库,我们有数百个客户端.想象一下:database001,database002,database003,...,database999.我们希望将所有这些数据库组合到一个数据库中.

我们的想法是添加一个siteId列,001,002,003,...,999.

我们正在探索使这种过渡尽可能顺利的选择.我们很乐意听到您的任何想法.它被证明是一个非常具有挑战性的问题.

我听说过一种技术可以创建一个匹配然后过滤的视图.

有什么想法吗?



1> Gregory A Be..:

为每个客户端数据库创建客户端数据库ID.您将使用此id来保持数据在逻辑上分开.这是"站点ID"概念,但您可以使用派生密钥(标识字段)而不是手动创建这些数字.创建一个具有数据库名称和标识的表,以及您需要的任何其他元数据.

下一步是创建一个SSIS包,该包获取相关数据库的ID,并将其添加到必须将其数据逻辑分离的表中.然后,您可以在每个数据库上运行相同的包,并查找相关数据库的ID.

如果您拥有唯一且唯一且已导入数据的ID,则必须更改您的应用以适应新架构(实际上之前,或者您几乎搞砸了).

如果要逐步执行此操作,可以在不同的"数据库"中创建视图或函数,以便旧客户端仍然可以访问客户端的数据,即使它已被移动.如果部署一些停机时间,则可能不需要此步骤.

我建议的方法相当灵活,可以一次应用于一个客户端,具体取决于您的客户端应用程序部署方法.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有