我在SQL Server 2008 R2上有一个数据库。在一个表中,有一个列应该是ntext类型,但它被设计为文本列。因此,数据被发送,保存为文本,然后保存为问号(无法识别)。
我已将类型更改为ntext。有没有办法恢复这些保存的数据?我想过跟踪发送到存储过程的捕获数据并手动维护它,但是我搜索了一下,发现没有结果。
有什么想法吗?
答案 0 :(得分:1)
不,除非您拥有原始数据,否则数据会丢失。一旦写入非unicode列,unicode数据将丢失。这在我的回答中得到了证明:Determine varchar content in nvarchar columns
另请注意ntext
is deprecated. You should use nvarchar(max)
ntext,text和image数据类型将在Microsoft SQL Server的未来版本中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用nvarchar(max),varchar(max)和varbinary(max)。