Sql Server“保存更改不允许”错误►阻止保存需要重新创build表的更改
当我在SQL Server中创build一个表并保存它时,如果我尝试编辑表devise,如将列types从int更改为real,则会出现以下错误:
保存更改是不允许的。 您所做的更改要求删除并重新创build下表。 您要么对无法重新创build的表进行更改,要么禁止保存需要重新创build表的更改的选项。
为什么我必须重新创build表格? 我只是想将数据types从smallint更改为real 。 
桌子是空的,我到现在才使用它。
从MSDN上的“保存(不允许)”对话框中 :
“ 保存 (不允许)”对话框将警告您不允许保存更改,因为您所作的更改要求删除和重新创build列出的表。
以下操作可能需要重新创build表格:
- 在表格中间添加一个新列
 - 丢下一列
 - 改变列的可空性
 - 改变列的顺序
 - 更改列的数据types<<<<
 要更改此选项,请在工具菜单上,单击选项 ,展开devise器 ,然后单击表和数据库devise器 。 选中或清除“ 保存要求重新创build表的更改”checkbox。
 另见Colt Kwong Blog条目: 
  在SQL 2008 Management Studio中不允许保存更改 
你使用SSMS吗?
如果是,转到菜单工具>>选项>>devise器,并取消选中“预防保存需要重新创build表的更改”
阻止保存需要重新创build表的更改
五个快速点击
![]()
- 工具
 - 选项
 - devise师
 - 阻止保存需要重新创build表的更改
 - 好的 。
 保存后,重复此过程重新勾选该框。 这安全 – 防止意外的数据丢失。
进一步解释
- 
默认情况下,SQL Server Management Studio将防止删除表,因为当删除表时,其数据内容将丢失。
 - 
在devise视图中更改列的数据types时,保存更改时,数据库会在内部删除表,然后重新创build一个新表。
 
*由于您的表格是空的,您的具体情况不会造成任何后果。 我完全提供这个解释来提高你对程序的理解。
按照这些步骤,可以在5秒内固定的设定问题非常简单容易
为了让您在更改表后保存更改,请按照以下步骤进行sql设置:
- 打开Microsoft SQL Server Management Studio 2008
 - 点击工具菜单选项,然后点击选项
 - selectdevise师
 - 取消选中“防止保存需要重新创build表格的更改”选项
 - 点击OK
 - 试着改变你的桌子
 - 您的更改将按需要执行
 
 去顶部菜单上的工具 。 
 从下拉菜单中select选项 。现在select位于菜单左侧的“ devise者”选项。 取消选中防止保存需要重新创build表的更改选项。 点击确定button。 
要更改防止保存需要重新创build表的选项的更改,请按照下列步骤操作:
打开SQL Serverpipe理工作室(SSMS)。 在工具菜单上,单击选项。
在“选项”窗口的导航窗格中,单击“devise器”。
选中或清除“禁止保存需要重新创build表的更改”checkbox,然后单击“确定”。
注意 :如果禁用此选项,则在保存表时发生的更改不会更改表的元数据结构。 在这种情况下,保存表时可能会发生数据丢失。
 
 
 从工具►选项►devise器选项卡中取消勾选 Prevent saving changes that require table re-creation 。 
SQL Server 2012示例:
 
 
以防万一有人在这里也不注意(像我一样):
对于Microsoft SQL Server 2012,在选项对话框中,有一个鬼鬼祟祟的小checkbox,显示隐藏所有其他设置。 虽然我不得不说,我已经错过了这个小怪物!
之后,你可以继续步骤,devise师,取消防止保存等等等等等等…
 
 
从此链接复制“…重要我们强烈build议您通过closures”禁止保存需要重新创build表的选项“选项来解决此问题。有关closures此选项的风险的详细信息,请参阅”更多信息“部分”
“…要解决此问题,请使用Transact-SQL语句对表的元数据结构进行更改。有关其他信息,请参阅SQL Server联机丛书中的以下主题
例如,要更改名为MyTable的表中的types为datetime的MyDate列以接受NULL值,可以使用:
alter table MyTable alter column MyDate7 datetime NULL“
  1)打开顶部的工具。 
  2)从选单中select选项。 
  3)现在出现popup窗口,您现在可以从左侧菜单列表中selectdevise者选项。 
  4)现在防止需要取消选中需要重新创build表的保存更改。  现在点击确定。 
从“工具”菜单中,单击“选项”,从侧面菜单中select“devise器”,然后取消防止可能导致重新创build表的更改。 然后保存更改