我试图在SQL 2014数据库中为我们的类型1缓慢更改维度表实施ETL过程。负载需要在服务器之间进行,我宁愿不使用链接服务器。如何处理使用SSIS从源中删除的行慢速更改维度
我一直在寻找如何在SSIS中做到这一点,并发现缓慢变化的维度向导工作正常,除了这似乎只允许插入新的行或更新行的业务关键匹配,但是在维度表中存在记录时,我没有找到它允许我处理的地方,但是从源删除了该记录。我想确保这些被删除。我错过了什么吗?有没有人找到更好的方法来处理SSIS中的这个问题?
我知道我可以将所有内容都转储到目标服务器上的另一个表中,然后编写TSQL合并,但似乎应该是在SSIS中执行此操作的一种简单方法。
不相关,只是想知道,链接服务器的使用有什么问题? – Anton
您误解了SSIS ...您需要在合并过程中将数据移至表中。 SSIS本身没有OUTPUT,但它确实有一个错误处理方法,可用于暂存“已删除”行。当然,一个固定的TSQL MERGE也可以这样做,但假设不同的表需要SSIS ...然后在SSIS中识别出删除的行是不存在的行。但是,在SSIS中,坏行仍然是行。 –
感谢您的信息。我正在考虑升级TSQl合并将是最好的选择。有几个原因,我不想使用链接服务器的一些周围的安全,我已经得到了一些过去(其他开发人员无法按照我设置的方式做一些事情,并最终在SA中进行身份验证等),还因为这个过程需要能够推送到多个服务器并轻松地转到新的服务器上,并且使用SSIS中的包配置更改连接字符串非常简单。当然可以通过链接服务器和一些动态SQL来完成。 – schiznig