2011-06-22 5 views
0

私はソフトウェアのすべての情報を定義するマスターデータベースを持っています。 それに含まSQL Server用の優れたデータベースセットアップツールを知っている人はいますか?

  • テーブル
  • トリガー
  • ストアドプロシージャ
  • 格納されている機能
  • メタデータテーブルにおける
  • (コンテンツ)

を照会します現時点では、私が手作業で(SQL Management Studioからいくつかのサポートを受けて)すべての変更を行って、上記のものに対してCREATE、UPDATE、INSERTステートメントがすべてあるファイルを編集します。私は新しいデータベースを作成する必要があるとき、私は自分のSQLステートメントを含むすべてのxyz.sqlファイルを起動します。

私は管理スタジオにデータベース作成スクリプトウィザードがありますが、これにはコンテンツデータは含まれていないことがわかります。また、適切な順序(例:クエリ、関数など)で作成するために物事が実行された後、構造テーブルが利用可能であることを確認する必要があります。

現時点では、私がすべてのシーマテーブルを読み込み、自動的にファイルを作成する.NETプロジェクトについて考えていました。 Ruby on Railsでは、システムはshema.rbを作成し、データyamlファイルを作成します。私はこれを使って作業を試みましたが、アクティブレコード(古いC++のものも実行しています)で作成されていないテーブルが多数あるので、これは私にとっては役に立ちません。

誰も私にこのベストをする方法や私の要求にぴったりのツールを知っていますか?

答えて

1

これは、SMOフレームワークを使用して.NETで非常に簡単に行うことができます。

依存関係の順序でスクリプトを出力するための統合ツールがあり、必要に応じてデータをスクリプト出力することもできます。

See my answer here for some info and links.

1

SQL Compare ProあなたのDDL作成スクリプトをロードし、正しい順序でターゲットに展開することができるはずです。 [プロジェクトの編集]ダイアログで、スクリプトを[スクリプトフォルダ]としてロードすることを確認します。データの場合は、SQL Data Compare Proを使用する必要があります。問題がある場合や質問がある場合は、私がRed Gateのために働いていることを教えてください。そうすれば、これらのツールを手伝うことができます。

私は、これらのスクリプトがゼロからデータベースを作成するという理由で、なぜあなたが更新を持っているのか、少し混乱しています。それらはすべてINSERTではありませんか?

SSMS にはデータスクリプトも作成できます。 SSMS 2008が必要です。タスク/スクリプトの生成に移動し、スクリプトオプションの選択ウィンドウでスクリプトデータがTrueに設定されていることを確認する必要があります。

これらのスクリプトをSQL Serverオブジェクトのソース管理に役立つ方法として維持する場合は、SQL Source Controlと考えてください。これにより、スキーマ・オブジェクトと静的データ表が個別の.sqlファイルとして保持されます。

+0

Updateステートメントは、異なるバージョンのデータフィールドを更新するために使用されます。たとえば、テーブルに新しいフィールドを追加します。追加されたフィールドにはNULLが含まれているため、ソフトウェアアップデートのデフォルト値で更新スクリプトを入力する必要があります。 – YvesR

+0

清算していただきありがとうございます。最終的にどの選択肢を採用するかを教えてください。 –

+0

私はそれについて話すことができるので、メールで私に連絡してください。どうも。 – YvesR

1

「管理スタジオにはデータベース作成スクリプトウィザードがありますが、これにはコンテンツデータは含まれていません」

あなたは注意深く見なければなりません!もちろん、このビルドインスクリプトエンジンにはコンテンツデータを含めることができます。 「プロパティ」(またはそのようなもの)というラベルの付いたボタンをクリックするだけで、完全なデータダンプを含むSMOスクリプトオプションをすべて変更することができます。

これは、多くのINSERT INTO ...ステートメントを含むスクリプトで終わります。

In-depth description

1

DbSourceToolsを試してみてください。
これは、SQLデータベースをディスク(データを含む)にスクリプト化してから、「展開ターゲット」を使用してSQLデータベースを再作成するように特別に設計されたSQL管理ツールです。
アジャイルプロジェクトのデータベースソース管理に使用しています。

関連する問題