0

我正在使用 SQL Server 2008 R2。

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

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

是否可以在同一个表中有一个 nvarchar(max) 和一个 varbinar(max) 字段?

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

4

4 回答 4

4

是的,当然 - 你可能只是在 SSMS 中启用了这个新的“安全”选项(默认情况下它是打开的):

替代文字

那是在Tools > Options....之下

于 2010-10-15T14:43:15.110 回答
2

对的,这是可能的。

如果您看到此消息,则您必须尝试在 SSMS 表设计器中的现有列中间插入新列。将其添加到现有列的末尾,则不必完全重建表。

或者只是执行

alter table YourTable add newcol varbinary(max) null
于 2010-10-15T14:38:20.083 回答
2

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

于 2010-10-15T14:44:18.050 回答
0

SQL Server 不允许您以这种方式发展表,因为它不能动态修改现有表的存储。如果要执行此操作,则必须使用新模式创建一个新表,并使用原始表中的数据填充它。

于 2010-10-15T14:42:00.823 回答