SQL Server 跨数据库复制数据

问题描述

我使用的是 sql Server 2019。我有一个暴露给 GUI 应用程序的“MasterDB”数据库。 我还将拥有多达 40 个用户数据库,如“User1DB”、“User2DB”等。所有这些用户数据库都将具有“完全相同”的架构和表。

我需要将表数据(覆盖目标)从一个用户数据库(比如“User1DB”)复制到另一个(比如“User2DB”)。我需要从“MasterDB”数据库中执行此操作,因为 GUI 客户端应用程序将只能访问该数据库。如何处理这种动态情况?我更喜欢静态 sql(以存储过程的形式)而不是动态 sql

任何建议将不胜感激。谢谢。

解决方法

查看此问题 here 以将数据从一个数据库传输到另一个数据库。

除此之外,我在这里同意@DaleK。如果我们假设用户是登录您的前端应用的某个人,那么就没有真正的理由为每个用户建立一个数据库。

如果您正在运行一些数十亿记录的企业应用程序,其中每个客户实际上拥有如此多的数据,因此将其拆分是有意义的,但基于您的问题,我可以理解为每个客户复制您的架构好像是这样。

所以,如果我们的假设是正确的,您只需要有一个用户表,您的字段可能位于...

用户表
用户 ID
名称
名称
电子邮件地址
...

编辑: 我在评论中看到您指的是“源代码控制数据”……我建议您研究数据库以及它们的设计、实现方式以及数据的处理方式。只需在 Google 上进行简单的搜索,就可以找到大量有关这方面的精彩文章和书籍。

如果您希望复制数据以进行备份,请查看一些 data warehouse 设计原则,可能会为此在不同的地理区域创建一个单独的数据存储。后者是一个非常复杂的主题,我无法在此答案中详细介绍,但这听起来远远超出了您当前的需求。我的建议是回溯和散列应用程序的需求,同时了解数据库的一些基础知识(或不同的数据存储方法)。实现一些东西,然后看看可以扩展/重构的地方。

除此之外,我不能比您发布的原始问题更详细了。希望这会有所帮助。