SQL 服务器跨数据库复制数据

SQL Server copy data across databases

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

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

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

查看此问题here,了解如何将数据从一个数据库传输到另一个数据库。

除此之外,我同意@DaleK 的观点。如果我们假设用户是登录您的前端应用程序的人,则没有真正的理由为每个用户拥有一个数据库。

如果您是某个拥有数十亿条记录的企业应用程序,那么我可以稍微理解为每个客户复制您的模式,其中每个客户实际拥有如此多的数据,因此将其拆分是有意义的,但基于你的问题好像不是这样。

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

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

编辑: 我在评论中看到你指的是“源代码控制数据”......我建议你研究数据库以及它们的设计,实施方式以及数据的处理方式。通过简单的 Google 搜索,有大量关于此的精彩文章和书籍。

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

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