我正在使用远程分发服务器设置将数据从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)
答案 0 :(得分:0)
因此,我们在快照代理程序作业步骤中明确指定了一个参数来控制bcp线程。
-maxbcpthreads 4
·
没有理想的数字,这完全取决于,所以我们需要测试并查看哪个数字对我们来说是最优的。