所以我从Publisher(SQL Server 2014)分发服务器(SQL Server 2014)订阅服务器(SQL Server 2008 R2)设置了T复制,并使用快照初始化它。
签入复制监视器我发现Snapshot Agent已成功完成,并且Log Reader代理正在运行。
现在进入订阅者历史记录' “未分配的命令”旁边的选项卡'标签
我收到以下错误:
该流程无法批量复制到表格" dbo"。" BEAMDATA"'。 (来源:MSSQL_REPL,错误号:MSSQL_REPL20037)
获得帮助:http://help/MSSQL_REPL20037
到达文件结束,终结器丢失或字段数据不完整
要获取错误文件,其中包含初始化订阅表时遇到的错误的详细信息,请执行下面显示的bcp命令。有关bcp实用程序及其支持的选项的更多信息,请参阅BOL。 (来源:MSSQLServer,错误号:20253)
获得帮助:http://help/20253
bcp" LOWIS_BUCT"。" dbo"。" BEAMDATA" in" C:\ Program Files \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ ReplData \ unc \ LOWISBUCT_CSSQLDB_BUCT_CSSQLDB_BUCT_ALL_TABLES \ 20160826064516 \ BEAMDATA_34#1.bcp" -e" errorfile" -t" \ n \ n" -r" \ N'LT;,@ g取代; \ n" -m10000 -SLOWISTSTSQL -T -w(来源:MSSQLServer,错误号:20253)
获取帮助:http://help/20253
我认为这可能是某种数据溢出,因此检查了Publisher和Distributor中表格的模式,它们完全匹配。
我完全清理了整个复制设置并重新进行了操作,但仍然停留在同一个桌子的同一个地方。
之前有没有遇到过这个?问我是否需要更多我能提供的信息。
答案 0 :(得分:1)
我找到了原因。这是由于发布者和订阅者的模式不匹配。
在所述表中,列具有数据类型(date(datetime)
,并且当复制脚本化该表的模式时,它被编写为date
脚本,因此在应用快照时订阅者,该字段的数据类型为{{ 1}}。
当数据从datetime复制到date字段时,会导致上述错误。
我在订阅者端对数据类型进行了必要的更改,并且事情已得到修复,