開発中やシステム運用中に、データベースのテーブル構造やストアドプロシージャなどを追加、更新、削除し、他の開発者や運用中のデータベースに適用させたい場合は、差分の DDL を書いてスクリプト化するのが常套だと思う。
ところが、単純な DDL ならスラスラ書けても、ちょっと複雑になると面倒になる。例えば、列の型を変えてしまいたいが、その列を使って外部キーを貼りまくっている場合などは影響範囲が大きくなる。
しかし、そういった複雑な定義変更も SQL Server Management Studio などの GUI ツールを使えば、複雑な事も自動で行ってくれるので簡単だ。
という事で、SQL Server Management Studio のようなツールが行っている処理自体を Profile し、各 DDL を拾えば、簡単にスクリプトを作る事ができる。
余分なデータを排除するのが少々面倒だが。