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

SQL Server 2008 「阻止儲存要求重新建立資料表的變更」選項關閉教學

     編輯:SQL Server 2008

現象

在 SSMS 設計師中修改資料表結構 (如插入欄位、變更資料型別、調整順序) 後按儲存,彈出錯誤:

不允許儲存變更。您所做的變更需要卸除並重新建立下列資料表。您已變更無法重新建立的資料表,或已啟用「阻止儲存要求重新建立資料表的變更」選項。

原因

SSMS 預設啟用此安全選項,防止透過設計師進行需重建資料表的變更 (如插入中間欄位、變更資料型別、移除欄位),避免資料遺失或長時間鎖定。

關閉方法 (圖文)

  1. 工具 → 選項。
  2. 左側樹狀結構展開 設計工具 → 資料表和資料庫設計工具。
  3. 右側取消勾選 阻止儲存要求重新建立資料表的變更。
  4. 確定,重新開啟設計師即可儲存。

錯誤對話框 選項頁面 設計工具選項

最佳實務建議

  • 初學/開發環境:可關閉此選項方便操作。
  • 生產環境:強烈建議保持啟用,改用 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 版
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved