Ssis 创建集中式数据库
我在不同的服务器(B&C)中有两个同名的数据库(A)。这两个数据库具有相同的模式。(sql server 2008 r2) 任务1:将两个数据库复制(传输)到第三台服务器(D)中,并使用名称(A\u B和A\u C) 任务2:将两个数据库合并为一个数据库(A\D)。(我不知道如何处理钥匙) 任务3:每天我都要从服务器B&C获取数据,并将数据放入集中式服务器D中 任何帮助都将不胜感激 谢谢 Ritesh以下是一些想法: 任务1:通过备份和恢复服务器D来传输数据库 任务2:我认为这将涉及ETL过程和在数据库中创建新的代理项。在数据源id列中保留原始源的项。我认为发表声明会有帮助 任务3:利用任务2中的逻辑 任务2的更新: 假设数据库a和B中的源Ssis 创建集中式数据库,ssis,ssis-2005,ssis-2012,ssis-2008,Ssis,Ssis 2005,Ssis 2012,Ssis 2008,我在不同的服务器(B&C)中有两个同名的数据库(A)。这两个数据库具有相同的模式。(sql server 2008 r2) 任务1:将两个数据库复制(传输)到第三台服务器(D)中,并使用名称(A\u B和A\u C) 任务2:将两个数据库合并为一个数据库(A\D)。(我不知道如何处理钥匙) 任务3:每天我都要从服务器B&C获取数据,并将数据放入集中式服务器D中 任何帮助都将不胜感激 谢谢 Ritesh以下是一些想法: 任务1:通过备份和恢复服务器D来传输数据库 任务2:我认为这将涉及ETL过程和
Table1
有一个名为Table1\u ID
的键列。在数据库中添加列Table1\u SourceID
和Table1\u Source
。使用源数据库中的键填充Table1\u SourceID
,并使用Table1\u source
指示源数据库
使用
Table1\u ID
作为Table1
的键,该键对数据库A\u D是唯一的。这将解释源数据库中键列的冲突。此外,还可以将行跟踪到源数据库 任务1:创建没有结构的目标数据库。我将在SSMS中的源数据库上使用tasks->export
函数和create structures选项。导出后,您将在目的地获得准确的副本
任务2:在A\u D
的每个表中创建一个新的键列(SurKey)。它必须是一组值的组合,这些值将在整个表中给出唯一的值。例如,源表缩写+主键列+日期
对于每个表,在SSIS包中创建两个数据流,从A\u B
和A\u C
加载数据。放置一个派生列
组件,该组件将添加一个新列-SurKey
在A_B
数据流中,将A_B
作为缩写,将A_C
放在第二个
任务3:使用您创建的数据流。在SSMS中编写作业脚本,并将其添加到每日计划中 对于任务2:你能不能再多解释一点。主要问题是,两个db都有相同的表和ID,如何将它们分开。因为相似表中的某些数据可能都有相同的键。谢谢Mike。。。我会努力的,让你知道它是如何进行的。非常感谢你的回答。只有一个问题。。。如果(A_B和A_C)中的表结构稍有不同(意味着很少有表具有更少或更多的列以及不同的数据类型)。。这个方法有效吗?..然后我将创建一个数据流,有两个源,添加带有代理键的派生列,然后
Union All
组件。