visualstudioデータベースプロジェクトをデータベースと同期させるにはどうすればよいですか?


11

データベーススキーマをVisual Studio .dbprojデータベースプロジェクトと同期させたいのですが。

現在、ほとんどのデータベース開発作業にSSMSを使用しています。dbスキーマと.dbprojを同期する必要がある場合は、Visual Studioのスキーマ比較ツールを手動で使用する必要があります。なぜこれが必要なのでしょうか?なぜなら:

  • 変更をチェックインする唯一の方法です
  • 変更を適用する唯一の方法です
  • そうしないと、ファイルを取得するときにマージの問題が発生します(基本的に、「最新の取得」にチェックアウトせずに更新しているdbオブジェクトのdb変更が含まれている場合、マージはトリガーされず、簡単に実行できますどのバージョンがどのバージョンであるかを追跡します)
  • スキーマの最新バージョンでVisualStudioの検索機能を使用できることは素晴らしいことです
  • 検索結果を使用して、VSからストアドプロシージャを変更できると便利です(通常、ファイルの名前を変更した場合)。

「スキーマ比較」ツールを自動化して5分ごとに実行する(「クリーン」なソリューションとは思えない)こと以外に、これを実現する方法はありますか?

可能であればSSMSを使用し続けたいのですが、Visual Studioの「サーバーエクスプローラー/データベース接続」を使用して行われた変更を.dbprojに自動的に伝達する方法にも興味があります。


データベースプロジェクトをSSMSと同期する方法を見つけましたか?

回答:


4

SQL Server Management Studioは、主にSQL Server MANAGEMENTツールであるため、探しているシナリオをサポートするために必ずしも構築されているわけではありません。

Visual Studio Team System 2008 Database EditionとVisual Studio Team System 2010 Pro / Ultimateには、広範なデータベース資産を持つユーザーがデータベーススキーマ/ view / proc / etcを統合するのに役立つDatabase Developerツール(VSDB)が含まれています。アプリ開発と開発。

VSDBを使用すると、既存のDBのスキーマをVisual Studioプロジェクトにリバースエンジニアリングして、スキーマ要素ごとのスクリプトファイルをソース管理できます。SQL 2005/2008/2010でサポートされる実質的にすべてのスキーマ要素を作成するために、SQL Serverスキーマスクリプトを変更/作成することもできます。

また、VSDBは、空/既存のDBに完全/部分的なDBスキーマの更新を展開し、既存のDB(存在する場合)の変更に必要な変更のみを適用して、ソースVSDBデータベースプロジェクト。

VSDBには、DBやDBプロジェクト間でスキーマを比較するのに役立つ多数のツールも含まれており、テーブルの内容を比較およびマージすることもできます。

ただし、このツールセットは現在サポートされていますが、チームは解散し、製品はメンテナンスモードになっています。SQL Server製品グループは現在、開発者向けのツールを作成する責任を負っており、まさにそれを行うために努力しています:)


1
私はすでにVS 2010 db機能のユーザーです。しかし、データベースプロジェクトとデータベースプロジェクトの両方を同時に瞬時に変更する方法をまだ見つけていません。単一の変更ごとにスキーマ比較を実行するのは非常に面倒です... :(
Brann

昨日VSDBを調べ始めたので、あなたの最後の段落はかなり憂慮すべきだと思います。私は多くの時間やエネルギーを投資する必要はないように思えます...?
ベンジョー

1

これを行うためのVS2010究極の機能で私が知っている2つの方法があります。

  1. SSMSまたは他のツールを使用してDBスキーマを編集し、定期的に(1日の終わりに)スキーマ比較を実行してから、DBプロジェクトにスキーマの変更をインポートします。
  2. VSを介してDBプロジェクトのファイルを編集し、DBで直接実行するか、DBのスキーマを更新するために実行するスクリプトを生成する展開パッケージを作成します。

私の意見では、2番目の解決策が最良の解決策です。クリック1つだけで展開プロセスを設定できます。Visual Studioでファイルを編集すると、ソース管理から自動的にチェックアウトされます。最初の方法を使用しましたが、スキーマの比較を常に行うことは困難です。さらに、少なくとも私にとっては、スキーマ比較ツールはVisual Studioを大量にクラッシュさせます。
クリスハーパー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.