2013-11-21 64 views
16

當我嘗試更改我的表的數據類型時,我從SQL Management Studion獲得這個可怕的消息:「保存更改是不允許的。要求下列表格被刪除並重新創建「。我已經試圖通過T-SQL進行修改,並且它已經工作,但爲什麼我不能通過設計模式來做到這一點?我正在使用SQL Server 2008 R2。保存更改是不允許的。您所做的更改需要刪除並重新創建以下表格

+1

這裏有一個答案:http://stackoverflow.com/questions/6810425/saving-changes-is-not-permitted-in-sql-server –

+0

表結構的變化應該腳本化並保存在源代碼管理像所有其他代碼一樣。切勿爲此使用設計器。改變表格不需要刪除和重新創建表格,設計師可以。 – HLGEM

回答

56

我強烈建議您使用T-SQL進行更改,或者至少預覽設計人員在提交之前生成的腳本。但是,如果您想在設計器中執行此操作,則可以轉至工具...選項...設計師..表格和數據庫設計器,然後取消選中「創建」。

由於某種原因,該鎖默認開啓;它使您不會犯一些被設計師混淆的變化。

編輯:如下面的註釋中所述,除非您禁用鎖定,否則無法預覽更改。我的觀點是,如果您想要使用表格設計器在禁用此功能的表格上工作,則應確保在提交更改之前始終預覽這些更改。總之,選項有:

  • 最佳工藝:使用T-SQL
  • 不是很大:禁用鎖定,用表 設計,始終預覽改變
  • 瘋話:點擊幾個按鈕。
+1

你可以添加你應該如何「預覽設計器生成的腳本」?右鍵單擊和生成腳本嘗試再次保存。重點是什麼? – makhdumi

22

要更改需要表重新創建選項防止保存更改,請按照下列步驟操作: 打開SQL Server Management Studio中(SSMS)。 在工具菜單上,單擊選項。 在「選項」窗口的導航窗格中,單擊設計師。 選擇或清除「禁止保存需要重新創建表的更改」複選框,然後單擊「確定」。

1

只需添加Stuart Ainsworth的說法,您可以在SSMS設計器窗口中右鍵單擊並在編輯後選擇「生成更改腳本...」選項,以生成並查看設計人員創建的腳本你的改變。

+4

如果鎖仍處於開啓狀態,則會導致相同的錯誤。一旦他們離開,就工作。 – RyanfaeScotland

相關問題