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
如何将DTS包迁移到SSIS 2012?_Ssis_Dts - Fatal编程技术网

如何将DTS包迁移到SSIS 2012?

如何将DTS包迁移到SSIS 2012?,ssis,dts,Ssis,Dts,我需要将SQL Server 2000中创建的所有DTS包迁移到SSIS 2012。SQL Server 2000和SQL Server 2012之间的区别是什么。SQL语句(如Insert、Update、Delete等)是否存在任何差异。将DTS包升级到SSIS需要注意哪些事项?您不能将包直接从SQL Server 2000中编写的DTS迁移到SQL Server 2012中的SSIS。您可以执行从DTS到SSIS 2005或2008的中间转换,然后将其升级到SSIS 2012包,但我不建议这

我需要将SQL Server 2000中创建的所有DTS包迁移到SSIS 2012。SQL Server 2000和SQL Server 2012之间的区别是什么。SQL语句(如Insert、Update、Delete等)是否存在任何差异。将DTS包升级到SSIS需要注意哪些事项?

您不能将包直接从SQL Server 2000中编写的DTS迁移到SQL Server 2012中的SSIS。您可以执行从DTS到SSIS 2005或2008的中间转换,然后将其升级到SSIS 2012包,但我不建议这样做,因为转换向导并不出色,而且您还将失去SSIS相对于DTS的大部分好处

因此,我强烈建议在SSIS 2012中重新编写包,复制原始DTS包的功能。我理解,根据所涉及的包的数量,这可能是一个大的、耗时的任务,但这是最好的方法

就差异而言,我在下面列出了几个更显著的差异:

  • DTS是基于COM的,虽然SSIS在幕后仍然使用许多COM对象,但它是用.NET包装的
  • SSI具有序列容器,因此可以将对象分组在一起
  • SSIS 2008和2012支持C#和VB.NET
  • DTS只允许映射列名,但SSIS具有丰富的数据转换集
  • 必须扔掉DTS包中的ActiveX脚本(如果有的话)
  • 在SSI中,您需要手动映射Unicode和ASCII
  • SSIS支持64位
SQL Server 2000和SQL Server 2012在基本DML方面没有区别,例如
INSERT
UPDATE
DELETE
,但是SQL 2008以后的版本也有一个
MERGE
语句,允许向上插入。SSI本机不支持这一点,但有第三方
UPSERT
组件,包括CodePlex.com上的免费组件

然而,在SSIS数据流转换中,有一些组件,如
缓慢变化维度(SCD)
组件和
OLEDB命令
组件,允许您更新行。然而,这两种转换的性能都很差,通常有更好的方法