現象
在 SSMS 設計師中修改資料表結構 (如插入欄位、變更資料型別、調整順序) 後按儲存,彈出錯誤:
不允許儲存變更。您所做的變更需要卸除並重新建立下列資料表。您已變更無法重新建立的資料表,或已啟用「阻止儲存要求重新建立資料表的變更」選項。
原因
SSMS 預設啟用此安全選項,防止透過設計師進行需重建資料表的變更 (如插入中間欄位、變更資料型別、移除欄位),避免資料遺失或長時間鎖定。
關閉方法 (圖文)
- 工具 → 選項。
- 左側樹狀結構展開 設計工具 → 資料表和資料庫設計工具。
- 右側取消勾選 阻止儲存要求重新建立資料表的變更。
- 確定,重新開啟設計師即可儲存。

最佳實務建議
- 初學/開發環境:可關閉此選項方便操作。
- 生產環境:強烈建議保持啟用,改用 T-SQL `ALTER TABLE` 腳本變更結構,可控制交易、鎖定、線上作業 (Enterprise 版支援 `ONLINE = ON`)。
- 需重建資料表的變更類型:
- 插入/刪除中間欄位
- 變更資料型別 (非隱含轉換)
- 變更欄位順序
- 變更 NULLABLE 屬性 (某些情況)
- 新增/移除 IDENTITY、ROWGUIDCOL、SPARSE 等屬性
- 不需重建的變更:
- 末端新增欄位
- 修改預設值、檢查條件約束
- 重新命名欄位/資料表 (僅中繼資料)
替代方案:T-SQL 線上變更 (Enterprise 版)
ALTER TABLE [dbo].[BigTable]
ADD [NewCol] INT NULL;
-- 或
ALTER TABLE [dbo].[BigTable]
ALTER COLUMN [OldCol] NVARCHAR(100) NOT NULL
WITH (ONLINE = ON); -- 需 Enterprise/Developer 版