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