gpt4 book ai didi

sql-server - 将 SQL Server 数据库合并为 1

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:40 24 4
gpt4 key购买 nike

我需要将 20 个具有相同结构的数据库合并为 1 个数据库。我看到了这个帖子: Consolidate data from many different databases into one with minimum latency

我不明白所有这些所以让我这样问:有些表有主键但没有 sourceID,例如:

数据库 1

AgencyID    Name 
1 Apple
2 Microsoft

数据库 2

AgencyID   Name
1 HP
2 Microsoft

很明显,这两个表不能像这样合并,它需要附加列:

数据库 1

Source     AgencyID    Name 
DB1 1 Apple
DB1 2 Microsoft

数据库 2

Source     AgencyID   Name
DB2 1 HP
DB2 2 Microsoft

如果这是这样做的正确方法,可以将这两个表合并到一个数据库中,如下所示:

Source     AgencyID    Name 
DB1 1 Apple
DB1 2 Microsoft
DB2 1 HP
DB2 2 Microsoft

...是否可以通过事务复制来实现?

预先感谢您的回答,如果我能得到正确的答案,那将非常有帮助。

伊利亚

最佳答案

如果我理解正确的话,你可以这样做

创建 DTS/SSIS 包。这是一个 basic SSIS tutorial .

或者像直接运行SQL

 INSERT INTO [TargetDatabase].dbo.[MergedAgency]([Source], [AgencyID], [Name])
SELECT CAST('DB1' AS nvarchar(16)), [AgencyID], [Name]
FROM [SourceDatabase1].dbo.[Agency]

INSERT INTO [TargetDatabase].dbo.[MergedAgency]([Source], [AgencyID], [Name])
SELECT CAST('DB2' AS nvarchar(16)), [AgencyID], [Name]
FROM [SourceDatabase2].dbo.[Agency]

然后通过 循环 SQL Server Job 调用 与一个 Job Step和一个 Schedule

不要忘记考虑如何检测哪一行已被复制到目标数据库。

关于sql-server - 将 SQL Server 数据库合并为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6677959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com