5

少し前に作成された SSIS パッケージの所有権を引き継ぐように依頼されました。このパッケージにアクセスして変更、編集、およびアップグレードすることは確かに可能ですが、パッケージが行う作業の量を考えると非常に面倒です。

私のタスクは大まかに次のとおりです。パッケージをふるいにかけ、特定のテーブルの特定の列の使用状況を見つけ、最新のデータベースの変更セットに一致するように変更し、追加のログ データを書き出すことで、チームが特定の問題を診断できるようにします。

SSIS パッケージには、約 3 メガバイトのテキスト、SQL ステートメント、および非常に単純な (しかし長い) コード経路が含まれているため、これは私には困難に思えます。各 SSIS オブジェクトをダブルクリックし、その設定を調べて、維持するように求められた列を見つけることができるかどうかを確認するのに、すでにしばらく時間がかかりました.SSIS は接続エラーをスローし続けます (私の開発環境がブロックされているため)本番データベースからオフ)。

この SSIS パッケージを .NET アプリケーションに変換することを検討したいのですが、変換に役立つツールを見つけることができませんでした。

この SSIS パッケージを維持したり、適切なアプリケーションに変換したりするための提案はありますか?

4

3 に答える 3

7

楽しみのために、SSIS 逆コンパイラを作成しました。Integration Services を実行している Visual Studio の UI を少し見て、それを .DTSX ファイル内の生の XML データと比較した後、DTSX ファイルを C# / .NET プロジェクトに変換するプログラムをまとめることができました。

これを少量のプロファイリング データと組み合わせて、問題のあるコンポーネントを追跡することで、SSIS パッケージの速度を 40% 向上させることができました。

私が使用している SSIS パッケージではうまく機能しているようです。多分これは他の誰かを助けるでしょう。

https://github.com/tspence/csharp-dessist

于 2012-11-02T21:59:04.410 に答える
4

SSIS よりも .NET を好む人への返信

SSIS は、少量のデータを転送するためのものではありません。それは可能ですが、データ転送が 100 ~ 500 GB 程度で、非常に複雑なビジネス ロジックが含まれる場合は、.NET よりも SSIS の方が適しています。.Net は、データの拡張または変換のためのビジネス ロジックがほとんどなく、小規模なインポートまたはエクスポートを行う場合に推奨されます。

残念ながら、ssis パッケージを .NET アプリに変換できるツールはありませんが、パッケージを開かずにパッケージに関する詳細情報を提供できる無料のツールがあります。

BI Documentor は、SSIS パッケージの完全なスキーマを提供するツールです。アプリケーションを dtx pkg にポイントするだけで済みます。多数の SQL コードと式、変数、接続マネージャーを変更する必要がある場合は、次のことができます。 BIDS で複雑な ssis パッケージを開くのに時間がかかることがあるので、この場合は便利です。

BIDS を開かずにパッケージをデバッグするのに役立つSSIS Log Analyzerというツールがもう 1 つあります。

于 2012-08-11T05:33:51.037 に答える
0

このための特定のツールはないと思います。テキスト エディターを使用してコードを確認し、対処する必要がある変更された列を特定するのが最善の方法かもしれません。

個人的には、SSIS はあまりにも多くの「ビジュアル ツール」であり、おそらく .NET アプリに適しているため、好きではありません。与えられたデータ変換ツールを使用して、SSIS でこれらの変更を行い、それを機能させてから、楽しいプログラミング ライフを続けてください...またはさらに良いことに、これを行う SQL Server 管理者を見つけてください。彼らは SSIS を気に入っています。 .

于 2012-08-11T04:57:27.470 に答える