Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SSIS中从目标数据库中删除记录_Ssis - Fatal编程技术网

如何在SSIS中从目标数据库中删除记录

如何在SSIS中从目标数据库中删除记录,ssis,Ssis,两台服务器上存在相同的数据库。为了简单起见,我将它们称为源和目标。我需要比较记录并删除那些只存在于目标中而不存在于源中的记录。我不能使用executesql,因为两个数据库都存在于不同的服务器上,并且它们之间没有链接。有人可以提出解决方案吗?您可以使用源表中的ID填充目标上的表。然后在目标数据库上使用执行SQL任务从目标表中删除您填充的表中不存在的行。比如说: DELETE FROM TargetTable WHERE ID NOT IN (SELECT ID FROM TableIDsFrom

两台服务器上存在相同的数据库。为了简单起见,我将它们称为源和目标。我需要比较记录并删除那些只存在于目标中而不存在于源中的记录。我不能使用executesql,因为两个数据库都存在于不同的服务器上,并且它们之间没有链接。有人可以提出解决方案吗?

您可以使用源表中的ID填充目标上的表。然后在目标数据库上使用执行SQL任务从目标表中删除您填充的表中不存在的行。比如说:

DELETE FROM TargetTable
WHERE ID NOT IN (SELECT ID FROM TableIDsFromDestination)

您可以做的是在目标服务器中创建一个暂存库,在其中复制信息而不查找引用,然后您可以直接在同一服务器中进行比较

我希望有帮助