【问题标题】:Failed to read column data in SQL Server replicationSQL Server 复制中读取列数据失败
【发布时间】:2017-06-20 00:36:20
【问题描述】:

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

消息:无法读取列数据
堆栈:
在 Microsoft.SqlServer.Replication.Snapshot.SqlServer.NativeBcpOutProvider.ThrowNativeBcpOutException(CConnection* pNativeConnectionWrapper)
在 Microsoft.SqlServer.Replication.Snapshot.SqlServer.NativeBcpOutProvider.BcpOut(字符串 strBcpObjectName,字符串 strBcpObjectOwner,字符串 strBaseBcpObjectName,布尔 fUnicodeConversion,字符串 strDataFile,字符串 strLoadOrderingHint,字符串 strWhereClause,布尔 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 提供者:现有连接被远程主机强行关闭。
堆栈:(来源:MSSQLServer,错误号:10054)

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

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

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

【问题讨论】:

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


    【解决方案1】:

    因此,我们在快照代理作业步骤中明确指定了一个参数来控制 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

    【讨论】:

    • 我从 4 到 16 尝试过,有时有时会失败。不确定从中推断出什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 2019-03-19
    相关资源
    最近更新 更多