2016-08-26 25 views
0

パブリッシャ(SQL Server 2014)ディストリビュータ(SQL Server 2014)サブスクライバ(SQL Server 2008 R2)からセットアップTレプリケーションを行い、スナップショットを使用して初期化しました。SQLトランザクションレプリケーション

レプリケーションモニタをチェックインすると、スナップショットエージェントが正常に完了し、ログリーダーエージェントが実行されていることがわかります。タブの「加入者の歴史にディストリビューター」で今すぐ

単に「未分配コマンド」タブの横に

私は次のエラーを取得する:

The process could not bulk copy into table '"dbo"."BEAMDATA"'. (Source: MSSQL_REPL, Error number: MSSQL_REPL20037)
Get help: http://help/MSSQL_REPL20037
End of file reached, terminator missing or field data incomplete
To obtain an error file with details on the errors encountered when initializing the subscribing table, execute the bcp command that appears below. Consult the BOL for more information on the bcp utility and its supported options. (Source: MSSQLServer, Error number: 20253)
Get help: 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<,@g>\n" -m10000 -SLOWISTSTSQL -T -w (Source: MSSQLServer, Error number: 20253)
Get help: http://help/20253

私は、これが故にデータのオーバーフローのいくつかの種類であることと考えていましたパブリッシャとディストリビュータの両方でテーブルのスキーマがチェックされ、正確に一致しています。

完全な複製セットアップを完全に消去して再作成しましたが、同じテーブルの同じ場所にまだ貼り付けました。

誰もこれまでに遭遇したことはありますか?あなたが提供できる私の最後からより多くの情報が必要かどうか私に尋ねてください。

答えて

1

この理由が見つかりました。これは、パブリッシャとサブスクライバのスキーマの不一致によるものです。 上記の列のデータ型は(date(datetime)であり、レプリケーション時にこのテーブルのスキーマがスクリプト化されている場合はdateとスクリプトされています。したがって、スナップショットの適用時にサブスクライバでdateのデータ型を持ちます。

データがdatetimeからdateフィールドにコピーされていたとき、そのエラーが発生しました。

私はサブスクライバ側のデータタイプに必要な変更を行い、問題は修正されました。

関連する問題