SQLServer2000で作成されたすべてのDTSパッケージをSSIS2012に移行する必要があります。SQLServer2000とSQLServer2012の違いは何ですか。Insert、Update、DeleteなどのSQLステートメントに違いはありますか。 DTSパッケージをSSISにアップグレードすることに注意する必要がありますか?
1 に答える
SQL Server 2000で記述されたDTSからSQL Server 2012のSSISにパッケージを直接移行することはできません。DTS から SSIS 2005 または 2008 への中間変換を行ってから、それらを SSIS 2012 パッケージにアップグレードすることもできますが、変換ウィザードは素晴らしいものではなく、DTS に対する SSIS の利点のほとんどが失われるため、これはお勧めしません。
したがって、SSIS 2012 でパッケージを書き直して、元の DTS パッケージの機能を複製することを強くお勧めします。関連するパッケージの数によっては、これが大きくて時間のかかる作業になる可能性があることを理解していますが、これが最善の方法です。
違いに関しては、以下にいくつかの注目すべきものをリストしました。
- DTS は COM ベースであり、内部では SSIS は依然として多くの COM オブジェクトを使用していますが、.NET でラップされています。
- SSIS には、オブジェクトをグループ化できるようにシーケンス コンテナーがあります。
- SSIS 2008 および 2012 は C# と VB.NET をサポート
- DTS では列名のマッピングのみが許可されていましたが、SSIS には豊富なデータ変換セットがあります
- DTS パッケージに ActiveX スクリプトがある場合は、破棄する必要があります
- SSIS では、Unicode と ASCII を手動でマップする必要があります
- SSIS は 64 ビットをサポートします
INSERT
、 、UPDATE
などの基本的な DML に関しては、SQL Server 2000 と SQL Server 2012 の間に違いはありませんDELETE
が、SQL 2008 以降にMERGE
は UPSERT を許可するステートメントもあります。これは SSIS でネイティブに適切にサポートされていませんがUPSERT
、CodePlex.com の無料のものを含むサード パーティのコンポーネントがあります。
ただし、SSIS データ フロー変換の中には、Slowly Changing Dimension (SCD)
コンポーネントや、OLEDB Command
行を更新できるコンポーネントなどのコンポーネントがあります。ただし、これらの変換はどちらもパフォーマンスが低く、通常はより良い方法があります。