2011-10-10 98 views
17

我有一個SQL數據庫表,它有35個現有記錄。其中一個字段被稱爲Name,nvarchar(100),not null將現有列更改爲空時「保存更改不允許」

但是,由於最近發生的變化,我需要使該列可以爲空。

當我改變列,允許在SQL Server Management Studio中的空值,去拯救我的變化,我得到以下錯誤:

Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created

我怎樣才能讓這個自動刪除並重新產生的?

回答

33

我找到了解決方案。進入 「工具>選項>設計師>表和數據庫設計」:

enter image description here

+1

唯一浪費人們時間的事情就是將某些事情標記爲一個答案,但實際上並沒有幫助有同樣問題的人。 ;-) –

+0

@Oran哈哈,我的猜測是你沒有得到同樣的問題,否則我不會將它標記爲答案。也許是不同的SQL Server版本?.. – Curt

+0

MS表示重新創建表可能導致數據丟失並警告關於此選項的轉向。 – Maxence

6

這是在SSMS的設置。

工具 - 選項 - 設計師 - 需要表重新創建

3

我有同樣的問題阻止保存更改;想要爲以前沒有的列允許空值。考慮MS的警告不要關閉這個選項: http://support.microsoft.com/kb/956176

他們建議使用Transact-SQL解決這個問題, 更改表MyTable更改列MyDate7 datetime NULL

這解決了它對我來說。