无法读取SQL Server复制中的列数据

时间:2017-06-11 09:18:32

标签: sql sql-server sql-server-2012

我正在使用远程分发服务器设置将数据从SQL Server 2012复制到SQL Server 2008 R2。每当我为发布运行快照复制时,我都会收到以下错误。有人可以帮我解决这个问题吗?

  

消息:无法读取列数据
  堆栈:
  在Microsoft.SqlServer.Replication.Snapshot.SqlServer.NativeBcpOutProvider.ThrowNativeBcpOutException(CConnection * pNativeConnectionWrapper)
  at Microsoft.SqlServer.Replication.Snapshot.SqlServer.NativeBcpOutProvider.BcpOut(String strBcpObjectName,String strBcpObjectOwner,String strBaseBcpObjectName,Boolean fUnicodeConversion,String strDataFile,String strLoadOrderingHint,String strWhereClause,Boolean useTableLockHint,int32 bcpFileFormatVersion)
  在Microsoft.SqlServer.Replication.Snapshot.SqlServer.BcpOutThreadProvider.DoWork(WorkItem workItem)
  在Microsoft.SqlServer.Replication.WorkerThread.NonExceptionBasedAgentThreadProc()
  在Microsoft.SqlServer.Replication.MainWorkerThread.AgentThreadProc()
  在Microsoft.SqlServer.Replication.AgentCore.BaseAgentThread.AgentThreadProcWrapper()(源:MSSQLServer,错误号:0)

     

消息:TCP提供商:远程主机强行关闭现有连接   Stack :(来源:MSSQLServer,错误号:10054)

     

消息:通信链路故障
  Stack :(来源:MSSQLServer,错误号:10054)

     

消息:TDS流中的协议错误
  Stack :(来源:MSSQLServer,错误号:0)

     

消息:TDS流中的协议错误
  Stack :(来源:MSSQLServer,错误号:0)

1 个答案:

答案 0 :(得分:0)

因此,我们在快照代理程序作业步骤中明确指定了一个参数来控制bcp线程。

-maxbcpthreads 4

·

没有理想的数字,这完全取决于,所以我们需要测试并查看哪个数字对我们来说是最优的。

点击以下链接: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/f44d1732-58ba-45ba-af18-4bb3bd342d56/could-not-read-column-data-error-message-after-giving-a-snapshot-for-transactional-replication?forum=sqlreplication