我有一个包含
有什么可能将类型更改为
ntext
字段的表。根据MSDN,ntext
已被弃用且建议使用其他数据类型:
在我的特定情况下,决定切换到在未来的Microsoft SQL Server版本中,ntext、text和image数据类型将被移除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。改用nvarchar(max)、varchar(max)和varbinary(max)。
varbinary(max)
。我尝试修改表定义,但没有成功。ALTER TABLE MyTable ALTER COLUMN MyColumn VARBINARY(MAX);
有什么可能将类型更改为
varbinary(max)
吗?我试过从ntext
改变类型,然后从nvarchar(max)
-> varbinary(max)
,但这是不可能的(错误:不允许从数据类型nvarchar(max)到varbinary(max)的隐式转换)。唯一可行的解决方案是添加一个新的varbinary(max)
类型列,将现有值转换到新列,然后删除旧列。这需要太长时间(在我的大约15GB的数据集上需要约30分钟)。这就是为什么我正在研究其他实现相同目标的可能性(可能是原地实现=无需移动数据和转换)。