0

展開パッケージを作成する Visual Studio 2010 Web サイト プロジェクトがあります。私の Web サイトは、展開パッケージにも含まれている SQL データベースに依存しています。運用サーバーの IIS にデプロイされたパッケージをインポートすると、データベースがまだ存在していなかった最初のデプロイ時にうまく機能しました。2 回目以降のデプロイでは、インポート中に、そのような名前のオブジェクトが既に存在するというエラーが表示されます。前回の展開以降、データベース スキーマを更新するのではなく、データベースを再度作成しようとしているようです。

ここに画像の説明を入力

展開パッケージを作成し、zip を運用サーバーにコピーして、WebDeploy 2.1 経由で IIS に直接インポートしています。どうすればデータベースを更新できますか? Visual Studio sql データベース プロジェクトを作成し、そのプロジェクトの "Deploy" から生成された .sql ファイルだけをパッケージに含めようとしましたが、関連のない他の問題に遭遇しました。こんなに難しいことはありません。データベース スキーマの更新を展開するにはどうすればよいですか?

4

1 に答える 1

1

カスタム スクリプトを使用してデータベースの変更を展開する必要があります (データを保持する場合)。

または、特定のオブジェクトを削除して再作成するだけの場合は、自動化されたスクリプトを使用してこれを行うことができます。

いずれにせよ、元のデータベースをプッシュするほど簡単ではありません。

データベースの変更がない場合は、展開からデータベースを除外できます (パッケージ/公開 Web タブ - データベースのチェックを外します)。

次の記事を参照してください http://msdn.microsoft.com/en-us/library/dd465343.aspx

「自動生成スクリプトを使用した再デプロイ」および「カスタム スクリプトを使用したデータベース変更のデプロイ」セクションに特に注意してください。

于 2012-04-10T08:39:00.107 に答える