2009-08-24 1 views
3

カラム、テーブル、リレーションシップなどの変更をすべてスクリプトファイルに自動的に追加する方法があるかどうか疑問に思っていました...Management StudioでCHANGEスクリプトを作成しますか?

私は事実上さまざまな変更を行っていますテストDBを作成すると、テストDBを実稼働環境に移動するときにこの変更スクリプトを適用することになります。したがって、実動データを保持しながら、すべてのスキーマとオブジェクトの変更を適用します。

これを行う簡単な方法はありますか?それはまた、データベースダイアグラムの変更を移行することはできますか?

変更を行うたびに変更スクリプトを作成する方法を見てきましたが、これはコピーしてマスターファイルに貼り付ける必要があることを意味します。実際にかなり簡単!

私は何か不足しているかどうか疑問に思っていましたか?

答えて

6

UIを使用してテストサーバーを変更しないでください。スクリプトを作成し、ソース管理下に置いてください。ライブデータのバックアップからスクリプトをテストし、希望の結果が得られるまでyoruスクリプトを調整できます。その後、スクリプトを参照してチェックインし、後でライブサーバーに適用することができます。この記事を参照してくださいVersion Control and Your Database

ところで、SSMS toolpackをチェックしてみてください。私はそれがあなたが望むことをするかもしれないと思います(わかりません)。私のアドバイスはそれほど重要ではありません:スキーマのバージョン、明示的に作成/保存されたスクリプトの使用、ソース管理の使用。

+0

ありがとう、私はついにVS 2008データベース版に行った –

0

SSMSで「デルタ」スクリプトを直接生成する方法はありません。

ただし、変更を公開するたびに、SQL Server Database Publishing Wizardを使用してデータを含むデータベース全体をSQLにスクリプトアウトすると、バージョン間の差分を抽出してデルタをそのように取得できるはずです。

お金にオブジェクトがない場合は、Visual Studio Team Systemデータベースアーキテクト版を購入し、その素晴らしいデータベース比較ツールを使用して、必要な差分を正確に生成およびバージョン管理することができます。

0

に来た、TableDiffを使用してみてくださいそれをSubversionに送ります。 Subversionには、Tables、Stored Procs、Dataなどのフォルダが用意されています。これらのスクリプトはスクリプトとして再現可能です(新しいデータがすでに存在する場合は挿入しないでください)。データベース内の特定のオブジェクトの変更履歴。

以前は、スクリプト化したい各ファイルをテキストファイル(FileListV102.txt)に入力するだけでした。リリース準備が整い次第、(当時はVSSの)すべてのファイルについて「最新のものを入手する」ことができました。その後、「ファイルリスト」ファイルを読み、それらのファイルを順番に開く簡単なユーティリティがありましたそれらを出力ファイルに連結します。それは非常に簡単にコーディングすることができます。

私たちはこれを打ち砕きました。今では、リリース管理ツール(hereがあり、9月中旬に販売される予定です)があります。すべてのファイルを取り出し、大きなSQLスクリプトファイルを作成します。これは、フォルダ名に基づいて予想される順序で実行されるため、 "Tables"フォルダにあるファイルは "Data"フォルダなどのファイルよりも先に処理されます。

いずれにしても、完成したばかりの大きなSQLスクリプトファイルが作成され、それを新しいプロダクションコピーに適用することができます。これはテストするものです。

0

私はパーティーに遅刻していることを知っていますが、そこには数多くのサードパーティ製の製品があると付け加えたいと思います。いくつかは非常に良い、いくつかは非常に安価であるか、無料であり、いくつかは混在しています。私はここ22を記載されている:私たちはKal Adminと呼ばれる比較的新しいソフトウェアを使用している

http://bertrandaaron.wordpress.com/2012/04/20/re-blog-the-cost-of-reinventing-the-wheel/

0

。 変更管理機能があり、選択した変更を他のデータベースに簡単に配布することができます。私たちは2つのデータベースを比較することでそれをやっていましたが、変更トラッキングの必要性を満たしていませんでした。

BTW Kal Adminには、メタデータとデータ比較機能もあります。

関連する問題