每当我对SSMS中的表结构进行更改时,都会发出警报:
不允许保存更改。您已对以下表格进行了更改以便删除并重新创建..
答案 0 :(得分:2)
某些更改会导致删除并重新创建表。一个这样的例子是将一列添加到表的中间而不是结尾。
你可以做以下两件事之一:
选项1
使用TSQL进行更改并将列添加到末尾(或特定编辑的等效非table-drop选项)
选项2
更改SSMS的默认行为(警告 - 这在生产环境中非常危险)
打开SQL Server 2008 Management Studio(SSMS)。在菜单中,转到“工具/选项”。在导航窗格中,展开设计器,然后选择“表和数据库设计器”。
在“表选项”下,取消选中“禁止保存需要重新创建表的更改”选项,然后单击“确定”。
答案 1 :(得分:0)
我已经看到,当您所做的更改可能导致数据被截断时,最常出现这类消息。所以,如果你要将nvarchar(20)更改为nvarchar(10),那就会出现。如果列只包含2个字符长的数据并不重要,它只查看数据类型。可能还有其他原因和其他风格的消息,但大多数情况下它们遵循相同的推理:如果更改会导致表格在其可能容纳的数据中受到更多限制,则它希望进行根治性手术。