当前位置:  开发笔记 > 数据库 > 正文

将列类型从ntext更改为varbinary(max)

如何解决《将列类型从ntext更改为varbinary(max)》经验,为你挑选了0个好方法。

我有一张有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)然后从nvarchar(max)- > 更改类型varbinary(max)但是这是不可能的(错误:不允许从数据类型nvarchar(max)到varbinary(max)的隐式转换).

唯一可行的解​​决方案是添加一个新类型的列varbinary(max),将现有值转换为新列,然后删除旧列.这花了很多时间(在我的数据集大约15GB,大约需要30分钟).这就是为什么我正在研究实现相同的其他可能性(可能就地=没有移动数据和转换).

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有