sql-server - 将数据库数据从多个 DB 复制到一个。数据复制(某种)

标签 sql-server database copy replication

这涉及到数据复制,有点:

我们有很多安装了 SQL Express 的站点,每个站点上都有一个“审计”数据库,每个站点都有一个第一范式的表(为了让生活变得简单:)

现在我需要从每个站点获取此表,并复制内容(例如,日期时间值 > 1/1/200 00:00,但这会明显改变)并将其复制到一个大的“ super ”表'在 sql server 中,也有主键作为站点名称(需要注入(inject))和 SQL Express 表中的当前主键)

例如许多具有以下表列的 SQL Express 数据库

ID、定义名称、定义类型、日期时间、成功、NvarChar1、NvarChar2 等等等等

大 super 表需要有:

站点名称、ID、定义名称、定义类型、日期时间、成功、NvarChar1、NvarChar2 等等等等

其中粗体项是主键

是否有 Microsoft(或者我想是非 MS)的应用程序/工具/东西可以让经理复制所有这些数据,或者我们是否需要自己编写?

非常感谢。

最佳答案

可以使用SSIS(SQL Server自带的)来填充,可以设置变量来改变各种数据库的连接字符串。我有一个循环遍历整个列表并使用来自三个不同供应商的三个不同文件执行相同的过程。您可以使用类似的东西来遍历不同的站点数据库。将要从中复制审计数据的数据库的整个列表放在一个表中,并循环遍历它,每次都更改连接字符串。

但是,您究竟为什么要为每个站点提供一个大型审计表?如果数据库中的每个表都在发生更改时填充审计表,那么审计表最终会成为性能的一个大问题。每次插入、更新和删除都必须命中此表,然后您建议在其上添加一个导出。在我看来,这似乎是锁定和死锁以及各种麻烦的保证结构。帮自己一个忙,将每个审计表限制在它正在审计的表中。

关于sql-server - 将数据库数据从多个 DB 复制到一个。数据复制(某种),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2133269/

相关文章:

sql - 使用 row_number() 时是否可以依赖输出顺序

c++ - 复制 C 对象

android - 只是从 Android API 7 中的 textview 复制?

SQL 查询内部连接与临时表

sql-server - 分布式数据库事务 vs 跨数据库事务

php - 动态表单——设置数据库的正确方法?

mysql - SQL - varchar 与 int 的性能

c# - 从 2 个相关表中删除行

batch-file - 多次复制文件夹及其内容,然后重命名

sql-server - 为什么通过函数调用 dbListTables 时会给出警告消息? (R DBI)