これは、少なくともアプリケーションとデータベースの 2 つの領域で処理する必要があります。他にもあるかもしれませんので、見落とさないように注意が必要です。
アプリケーション
将来のプロジェクトのための良い習慣
sproc を抽象化するのに役立ちます。私たちのアプリでは、すべての sproc を巨大なクラスにラップしています。次のような呼び出しを行うことができます。
Dim SomeData as DataTable = Sprocs.sproc_GetSomeData(5)
こうすることで、コードの最後がうまくカプセル化されます。Sprocs.sproc_GetSomeData に移動して、1 か所だけで sproc 名を微調整できます。もちろん、メソッドを右クリックして、シンボリックな名前変更を実行して、メソッド呼び出しをソリューション全体で修正できます。
抽象化なしで
その抽象化がなければ、sproc 名に対してファイル内検索 (Cntl+Shift+F) を実行するだけで、結果が正しい場合は、ファイルを開いてすべての出現箇所を検索/置換できます。
SQL サーバー
ビューの依存関係を信用しない
SQL サーバー側では、理論的には MSSMS 2008 で sproc を右クリックして [依存関係の表示] を選択できます。データベース内でsprocが使用されているすべての場所のリストが表示されるはずですが、この機能に対する私の信頼は非常に低いです。SQL 2008 では改善されているかもしれませんが、以前のバージョンでは明らかに問題がありました。
依存関係の表示は私を傷つけました。それが癒されるまでには時間がかかります。:)
包んでください!
しばらくの間、古い sproc を保持する必要があります。これが、sproc の名前変更がこのようなプロジェクトである主な理由です。最終的に完了するまでに 1 か月かかる場合があります。
最初にその内容を同じパラメーターで新しい sproc を呼び出す単純な TSQL に置き換え、ログを作成して、しばらくすると古い sproc が実際に使用されていないかどうかを確認できるようにします。
最後に、古い sproc が使用されていないことを確認したら、それを削除します。
他の場所?
他にもたくさんのエリアがあるかもしれません。Reporting Services が思い浮かびます。SSIS パッケージ。古い sproc を保持し、新しいものに再ルーティングする手法 (上記) を使用すると、何かを見逃したかどうかを知るのに役立ちますが、何を見逃したかはわかりません。これは多くの痛みにつながる可能性があります!
幸運を!