1

私は、複数のチームと複数の言語の人々によって 15 年間の雑用が詰め込まれたデータベースを持っています。テーブル/列/制約の名前を、ある種の標準に一致するように変更しようとしています。

問題は、列が大量のストアド プロシージャで参照される可能性があり、SQL Digger のようなツールを使用して各 sproc を検索する以外に見つける方法がないことです。問題は、膨大な量のエンティティの名前を変更したいのですが、それぞれに対して手動で名前を変更するのは面倒です。

名前のリファクタリングに役立つツールを探していましたが、何も見つかりません。一部のツール [ここ] は漠然とそれを行うと主張していますが、実際にはそうではありません (リストされているすべてのツールを公平に見ていません)。

誰もそのようなツールを使用した経験がありますか?

4

5 に答える 5

7

しばらくの間、 ApexSQL Refactorを使用しています。これはフリーウェアのツールであり、これまでのところ非常にうまく機能しています。

ソリューション センターに記事「SQL データベースを壊さずにオブジェクト名を変更する方法」があります。

新しいバージョンの発表 (2013 年) に気付きましたが、無料のままかどうかはわかりません。

于 2012-12-08T16:23:10.637 に答える
3

上記のツールのいずれかを使用してオブジェクトを更新する場合は注意してください。これらのツールはデータベース内の参照のみを検索するためです。留意すべき重要なことは、アプリケーションのデータ アクセス レイヤーにあるコードです。

チェックアウトしたい別のツールはApexSQL Cleanです。未使用のすべてのデータベース オブジェクトを検索し、すべての参照を視覚的に表示できますが、.NET ソリューションも検索し、そこで参照を見つけます。

繰り返しになりますが、データベースが 15 年前のものであることを考えると、.NET だけでなく、さまざまなレガシ アプリケーションにコードが含まれている可能性があります。とにかく、頑張ってください。これが今までにすべて完了していることを願っています:)

于 2013-02-02T19:14:05.563 に答える
2

私はこれを使用していませんが、他の Sql Server ツールを使用しており、彼らが主張したことを実行しました。

http://www.red-gate.com/products/sql-development/sql-prompt/

于 2012-06-18T23:21:29.893 に答える
2

過去のリファクタリング活動に (Visual Studio 2010 で) データベース プロジェクトを使用して、かなりの成功を収めました。データベース プロジェクトには間違いなく多くの癖がありますが、回避できないものはありません。

詳細については、http: //msdn.microsoft.com/en-us/library/dd193420を参照してください。

于 2012-06-18T23:22:29.187 に答える
2

いくつかのオプション:

SQL Server データ ツール(レビューはこちら)

Red-Gate SQL Refactor (まあ、今はSQL Promptの一部)

これらのツールは、直接参照または適切な依存関係を通じて公開されている参照を見つけるのに十分なほどスマートであることに注意してください。動的 SQL を使用してテーブルまたは列の名前を作成すると、うまくいきません。

また、数年前に sysdepends を最新の状態に保つことについてブログを書きましたが、特に列でそれがどれほど役立つかはわかりません。

https://sqlblog.org/2008/09/09/Keeping-sysdepends-up-to-date-in-sql-server-2008

于 2012-06-18T23:22:51.513 に答える