1

有誰知道Visual Studio中的SchemaCompare(當前使用2010)如何確定如何處理[SQL Server 2008R2]數據庫表更新(列數據類型,選擇性等)?VS SchemaCompare:製作表格更新

的選項是:

  • 使用單獨ALTER TABLE聲明
  • 創建新表,舊的數據複製到新表,重命名舊錶之前,新人們可以改名承擔正確的名稱

我在問,因爲我們有一個涉及TIMESTAMP column(樂觀鎖定)的情況。如果SchemaCompare使用新表格方法,則TIMESTAMP列值將更改爲&,因爲舊值爲TIMESTAMP的任何人都會遇到問題。

+0

應該很容易通過SQL Profiler查找。我的錢會在'ALTER TABLE'變種上。 – Tomalak 2011-12-18 17:46:59

回答

2

我相信架構比較採用相同的CREATE-COPY-Drop-RENAME(CCDR)戰略作爲VSTSDB描述這裏:link

應該可以通過運行一個比較和腳本進行部署,沒有證實這點?

+0

有些情況會產生'ALTER TABLE'語句。但是,我唯一一次看到這是在我使用表上的'ALTER TABLE'語句後立即將原始數據庫與更新的數據庫進行比較。在這種情況下,我只是增加了新的專欄; SQL Server只是將它們附加到表的末尾。通常,它會創建,複製,刪除和重命名,所以我實際上有點驚訝。 – Zarepheth 2014-03-26 17:57:05

+0

如果將列添加到表的末尾,它將使用alter table。 – 2015-06-12 03:58:37