我需要将在SQL Server 2000中创建的所有DTS包迁移到SSIS 2012. SQL Server 2000和SQL Server 2012之间有什么区别。在插入,更新,删除等SQL语句中是否有任何差异。什么是我应该注意将DTS包升级到SSIS的东西吗?
答案 0 :(得分:10)
您无法将软件包直接从 SQL Server 2000 中的 DTS 迁移到 SQL Server 2012 中的 SSIS 。您可以进行从DTS到SSIS 2005或2008的中间转换,然后将它们升级到SSIS 2012包,但我不建议这样做,因为转换向导并不精彩,您也将失去SSIS相对于DTS的大多数好处。
因此,我强烈建议在SSIS 2012中重新编写软件包,复制原始DTS软件包的功能。我很欣赏这取决于所涉及的软件包数量,这可能是一个很大的,耗时的任务,但这是最好的方法。
就差异而言,我在下面列出了一些值得注意的:
SQL Server 2000和SQL Server 2012在基本DML方面没有区别,例如INSERT
,UPDATE
和DELETE
,但SQL 2008以后也有{{}允许UPSERT的1}}语句。 SSIS本身不支持此功能,但有第三方MERGE
组件,包括CodePlex.com上的免费组件
然而,在SSIS数据流转换中,有一些组件,例如UPSERT
组件和Slowly Changing Dimension (SCD)
组件,允许您更新行。然而,这些转变都表现不佳,通常有更好的方法。