我正在使用SQL Server 2008 R2。

我有一个表格,其中有几个字段,包括nvarchar(max)字段。

当我尝试添加一个新的Varbinary类型(MAX)的新字段时,我会收到一个错误消息:“不允许保存更改。您所做的更改需要删除和重新创建以下表”。

是否可以在同一表中具有NVARCHAR(MAX)和VARBINAR(MAX)字段?

解决此问题的唯一方法是创建一个具有新结构并传输数据的新表格?

有帮助吗?

解决方案

是的,有可能。

如果您看到此消息,则必须尝试将新列插入SSMS Table Designer中现有的列中的中间。将其添加到现有列的末端,然后不必完全重建表。

或只是执行

alter table YourTable add newcol varbinary(max) null

其他提示

是的,当然 - 您可能只有SSM中的新“安全”选项仍在启用(默认情况下):

alt text

那是不在的 Tools > Options ....

Tools | Options > Designers 并取消选中选项“防止需要重新创建的更改”选项

SQL Server不允许您以这种方式发展表,因为它无法动态地修改现有表的存储空间。如果要这样做,则必须创建一个带有新架构的新表格,并用原始表中的数据填充它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top