データベースの中央のテーブルを変更しました。sp_dependsは文字通り数百の結果を返します。変更後、これらのストアドプロシージャの一部がコンパイルされないのではないかと心配しています。
1つのストアドプロシージャを確認するのは簡単です(変更スクリプトを再実行して、操作が成功するかどうかを確認するだけです)が、100以上のプロシージャでそれを行うのは少し面倒です。
このようなスクリプトを使用してデータベースのすべてのオブジェクトを再コンパイルできることはわかっていますが、実際の操作は、ストアドプロシージャが次に実行されたときにすぐにではなく、実行されるため、私の場合は適切ではないようです。
また、すべてのストアドプロシージャを完全に削除し、データベースをソース管理システムで再同期できると考えていましたが、このオプションは実行可能ではありますが、あまりエレガントではありません。これを行うより良い方法はありますか?
SQLServer 2008 R2を使用していますが、データベーススクリプトはVS 2008データベースプロジェクトに保存されています。
明確にするために、私はコードをテストするためにこのアプローチだけに頼るべきだと主張しているのではありません。C#とまったく同じように、コードを作成するときに他の依存ファイルの構文エラーを瞬時に検出します(その後、通常は数桁遅いユニットテストなどの他の戦略を使用してテストします)、SQLの依存関係を検出することは理にかなっていると思います通常は完了するまでに数時間かかる完全な機能テストを実行する必要がなく、数秒でエラーが発生します。