天天看點

MSSQL釋出提示程序無法向表“"dbo"."某表名"”進行大容量複制,錯誤号MSSQL_REPL20037

錯誤消息:

程序無法向表“"dbo"."某表名"”進行大容量複制。 (源: MSSQL_REPL,錯誤号: MSSQL_REPL20037)

擷取幫助: http://help/MSSQL_REPL20037

成批發送失敗

從 bcp 用戶端收到的列值對列 id 37 無效。 (源: MSSQLServer,錯誤号: 4896)

擷取幫助: http://help/4896

若要擷取詳細說明初始化訂閱表時所遇到的錯誤的錯誤檔案,請執行在下面顯示的 bcp 指令。有關該 bcp 實用工具及其支援的選項的詳細資訊,請參閱 BOL。 (源: MSSQLServer,錯誤号: 20253)

擷取幫助: http://help/20253

bcp "某釋出名稱"."dbo"."某表名" in "H:\SQL\MSSQL10_50.UZAI2008\MSSQL\ReplData\unc\SQLCLUSTER$SQL2008_某庫名_某釋出名\20120711171029\某表名_2.bcp" -e "errorfile" -t"\n<x$3>\n" -r"\n<,@g>\n" -m10000 -S訂閱名\訂閱執行個體名 -T -w (源: MSSQLServer,錯誤号: 20253)

MSSQL釋出提示程式無法向表“"dbo"."某表名"”進行大容量複制,錯誤号MSSQL_REPL20037

錯誤就出現在分發伺服器到訂閱伺服器.

釋出的表資料約35萬條,不算很大.因為我2百萬條的資料都能釋出到訂閱.

後來排查到這張表有一列很長且有特殊html标簽類/<&%|^等特殊字元,去掉該列就很順利的釋出成功了.

将所有的非unicode(varchar/char/text)   類型字段調整為unicode(nvarchar/nchar/ntext)類型即可"

有碰到該問題的朋友可以嘗試排除某些特殊列來釋出試試.為了便于測試,建議釋出到一個新庫測試,進而不影響原庫的已釋出的線上應用.

有更好的解決辦法可以貼出來,一起分享.

繼續閱讀