首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> SQL Server 2005

SQL Server 2008 管理工具無法儲存資料表變更:「阻止儲存要求重建資料表的修改」解決方案

     編輯:SQL Server 2005

問題現象

在 SSMS (SQL Server Management Studio) 圖形化介面修改資料表結構(如新增欄位、變更資料類型、調整順序)後點擊「儲存」,彈出對話框提示:

「無法儲存變更。您所做的變更需要捨棄並重新建立下列資料表...」

選擇「是」或「否」皆無法完成儲存,僅能匯出變更腳本檔案。

根本原因

SSMS 預設啟用選項 「防止儲存需要重新建立資料表的變更」。當變更涉及資料表重建(如插入中間欄位、變更資料類型、修改 NULLABLE 屬性等)時,SSMS 為保護資料安全而阻擋直接儲存。

解決步驟

  1. 開啟 SSMS,選單 工具 (Tools) → 選項 (Options)
  2. 左側樹狀選單展開 設計工具 (Designers) → 資料表和資料庫設計工具 (Table and Database Designers)
  3. 取消勾選 防止儲存需要重新建立資料表的變更 (Prevent saving changes that require table re-creation)
  4. 點擊「確定」重啟 SSMS 即可正常儲存
⚠ 生產環境警示:關閉此選項後,SSMS 將直接執行 CREATE NEW TABLE → INSERT DATA → DROP OLD → RENAME 流程。大型資料表(>100萬列)會造成長時間鎖定、記錄檔暴增、甚至封鎖業務。生產環境請改用 T-SQL 腳本(ALTER TABLE、SWITCH PARTITION 等線上變更技術)並經變更管理流程。

替代方案:匯出腳本手動執行

若不想關閉選項,可在彈出對話框選擇「產生變更腳本」儲存為 .sql 檔,再於維護窗口手動執行,可控制交易範圍與鎖定時間。

適用版本

  • SQL Server 2008 / 2008 R2
  • SQL Server 2012 / 2014 / 2016 / 2017 / 2019
  • Azure SQL Database (SSMS 連線時同樣適用)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved