尝试导出Azure SQL DB-出现奇怪的VARBINARY(MAX)错误...数据库中没有

时间:2018-09-18 00:15:53

标签: azure-sql-database

最近,我无法在同一订阅和数据中心内导出SQL Azure DB。

我得到的错误是:

“服务操作期间遇到错误。无法从数据库中导出模式和数据。发生一个或多个错误。发生了一个或多个错误。发生了一个或多个错误。发生了一个或多个错误。发生了一个或多个错误。序数65处的varbinary列应位于提供的SqlDataReader中的DATALENGTH(col)之前。”

数据库中没有VARBINARY列。我已经使用以下方法对此进行了检查:

SELECT table_name [Table Name], column_name [Column Name]
FROM information_schema.columns where data_type = 'VARBINARY' 

唯一的重大变化是我对某些列使用了加密列类型(确定性)。这样会阻止导出并产生此类错误吗?

目前我无法出口。但是我可以复制数据库。

请多多指教。

编辑

在进一步研究中,我认为加密列正在阻止导出,因为从所有列中删除了加密之后,我现在能够导出数据库。我现在正在通过SSMS的“导出数据层”功能进行尝试。我也用MS提出过这一点。仍在进行中。

EDIT2

我已经诊断出我的问题的原因是使用VARCHAR(8000)而不是VARCHAR(MAX)作为加密列的数据类型。希望不需要将这些类型更改为VARCHAR(MAX)。

1 个答案:

答案 0 :(得分:1)

当前,Sql Serializer在加密列上不支持长度为4000的nvarchar列。这就是您收到该错误的原因。我已经收到有关此限制将被删除的信息。