1
我有两个数据库在不同的服务器上。两个数据库都具有相同的模式。我们需要将数据从一个数据库移动到另一个数据库,以便如果记录仅存在于目标上,那么它应该被删除。我有以下方案在SSIS中解决。复杂SSIS删除方案
成分表保存对配方成分和每个配方属于“包。
Package --> Recipe --> Ingredient
包随即顶层配方,然后成分,我们的包装。SSIS包移动数据套餐已经在地方,采取包标识,并将所有食谱和配料到目标数据库。有一个在目标数据库中没有包表,因为我们用这个打包的数据移动的数据。现在的情况是,
- 我们正在包,其中包标识= 1
- 假设包装1有两个配方,并且这些配方已经存在于来源和目的地但是目的地的配方有更多配料,例如源包1具有RecipeA和RecipeB。这两个食谱已经存在于目的地。但Destination RecipeB有更多的权限。我需要删除那些额外的成分。
我无法使用执行SQL任务作为源和目标数据库位于不同的服务器上。任何人都可以建议如何做到这一点在数据流?
下面的设计浮现在脑海。
- 查找SOURCE中Package XYZ中存在的所有RecipeId。
将它与Same Recipes进行比较,找出哪些成分仅在destionation上存在。
源数据库
成分表
ID名称RecipeId
配方表
RecipeId名称包标识
封装表 包标识名称
*目标数据库* *
成分表 ID名称RecipeId
配方表 RecipeId名称BundleId