3

そのため、スキーマをいくつか変更して、デプロイしているVS2010データベースプロジェクトがあります。特に、VSDBCMDが「再構築」、つまり名前の変更->作成->コピー->ドロップを要求するテーブルが1つあります。

このテーブルの唯一の変更は、いくつかの列を削除することです。これは、単に私が知らない、列を削除することで処理できます。この特定のテーブルが「添付ファイル」と呼ばれ、15ギガ程度の重さがあることを除いて、通常は気にしません。15以上のギグが空いていないため、これには長い時間がかかり、データベースがロックされ、ローカルで失敗し、テスト環境でリモートでタイムアウトします。

VSDBCMDがデプロイ時にスキーマを変更するために従うルールを誰かに教えてもらえますか?

または、おそらくあなたは同様の問題を経験し、提案がありますか?

ありがとう!

4

1 に答える 1

1

VSDBCMDは、テーブルの再構築を頻繁に行うのが好きです。残念ながら、テーブルの再構築を選択した場合の「魔法のvsdbcmdマニュアル」はありませんが、手動でチェックしないと、本番データベースでのVSDBCMDの出力を信頼できません。とにかく最初に。

'dbname.sqldeployment'ファイルには、テーブルの再構築を防ぐのに役立つ可能性のある設定' IgnoreColumnOrder'を許可する設定があります(列インデックスが変更されたために再構築がトリガーされる可能性があります)。

あなたの場合、DBで手動で作成したスクリプトを実行するだけです。

ちなみに、「alter table Attachments drop column uselessData」と書くと、そもそもこの質問をするのに費やす時間の10%の費用がかかるでしょう:)

于 2011-08-16T17:01:56.707 に答える