:SQL修改字段長(zhǎng)度 阻止保存要求重新創(chuàng)建表的更改
SQL server修改表錯(cuò)誤提示:“阻止保存需要重新創(chuàng)建表的更改”
解決方法如下:
打開 SQL Server Management Studio(SSMS)。
在“工具”菜單上,單擊“選項(xiàng)”。
在選項(xiàng)窗口的導(dǎo)航窗格中,單擊設(shè)計(jì)器。
選中或取消選中阻止保存需要重新創(chuàng)建表的更改復(fù)選框,然后單擊確定。
備注!
如果禁用此選項(xiàng),則在保存表時(shí)不會(huì)收到所做更改已更改表的元數(shù)據(jù)結(jié)構(gòu)的警告。 在這種情況下,保存表時(shí)可能會(huì)發(fā)生數(shù)據(jù)丟失
關(guān)閉“阻止保存需要重新創(chuàng)建表的更改”選項(xiàng)的風(fēng)險(xiǎn)
雖然關(guān)閉此選項(xiàng)有助于避免重新創(chuàng)建表,但也可能導(dǎo)致更改丟失。 例如,假設(shè)在 SQL Server 中啟用“更改跟蹤”功能來跟蹤對(duì)表所做的更改。 執(zhí)行導(dǎo)致重新創(chuàng)建表的操作時(shí),會(huì)收到癥狀部分中提到的錯(cuò)誤消息。 但是,如果關(guān)閉此選項(xiàng),則在重新創(chuàng)建表時(shí)會(huì)刪除現(xiàn)有的更改跟蹤信息。 因此,建議不要通過關(guān)閉此選項(xiàng)來解決此問題。
若要確定是否為表啟用了“更改跟蹤”功能,請(qǐng)執(zhí)行以下操作:
在 SQL Server Management Studio 中,在“對(duì)象資源管理器”中找到表。
右鍵單擊表,然后單擊“屬性”。
在“表屬性”對(duì)話框中,單擊“更改跟蹤”。 如果“更改跟蹤”項(xiàng)的值為“真”,則表已啟用了此選項(xiàng)。 如果值為“假”,則表示已禁用此選項(xiàng)。
啟用該Change Tracking功能后,使用 Transact-SQL 語句更改表的元數(shù)據(jù)結(jié)構(gòu)。
重現(xiàn)問題的步驟
在 SQL Server Management Studio 中,在“表設(shè)計(jì)器”工具中創(chuàng)建包含主鍵的表。
右鍵單擊包含此表的數(shù)據(jù)庫,然后單擊“屬性”。
在“數(shù)據(jù)庫屬性”對(duì)話框中,單擊“更改跟蹤”。
將“更改跟蹤”項(xiàng)的值設(shè)置為“True”,然后單擊“確定”。
右鍵單擊此表,然后單擊“屬性”。
在“表屬性”對(duì)話框中,單擊“更改跟蹤”。
將“更改跟蹤”項(xiàng)的值設(shè)置為“True”,然后單擊“確定”。
在“工具”菜單上,單擊“選項(xiàng)”。
在“選項(xiàng)”對(duì)話框中,單擊“設(shè)計(jì)器”。
單擊以選中“防止保存需要重新創(chuàng)建表的更改”復(fù)選框,然后單擊“確定”。
在“表設(shè)計(jì)器”工具中,更改現(xiàn)有列上的“允許為 Null”設(shè)置。
嘗試將更改保存到表中。
該文章在 2023/9/11 14:35:35 編輯過