1

Visual Studioのスキーマコンパイル(2010年現在)では、[SQL Server 2008R2]データベーステーブルの更新(列のデータ型、オプション性など)をどのように処理するかを知っていますか?VS SchemaCompare:テーブル更新の作成

オプションは以下のとおりです。新しいものを想定して名前を変更することができます前に、古いテーブルの名前を変更し、新しいテーブルに古いデータをコピーし、新しいテーブルを作成します

  • 利用別々ALTER TABLE
  • 適切な名前

TIMESTAMP column(楽観的なロック用)の状況があるので私は尋ねています。 SchemaCompareが新しいテーブルアプローチを使用する場合、TIMESTAMP列の値は&に変更され、古いTIMESTAMP値を持つすべての人に問題が発生します。 VSTSDBが、ここで説明したように、私はスキーマを比較信じて

+0

SQLプロファイラを使用して簡単に見つけることができます。私のお金は 'ALTER TABLE'変種になります。 – Tomalak

答えて

2

は、同じCREATE-COPY-DROP-RENAME(CCDR)戦略を採用しています。link

はありません、デプロイから比較すると、スクリプトを実行してこれを確認することができるでしょうか?

+0

'ALTER TABLE'文を生成する状況があります。しかし、私が直面した唯一の時間は、テーブルのALTER TABLE文を使ってすぐに元のデータベースと更新されたデータベースを比較したことです。この場合は、単に新しい列を追加するだけでした。 SQL Serverはテーブルの最後に追加しました。通常、作成、コピー、ドロップ、名前の変更を行いますので、私は少し驚いていました。 – Zarepheth

+0

テーブルの最後に列を追加する場合は、alter tableを使用します。 –