西西一臺(tái)數(shù)據(jù)庫服務(wù)器更換了一臺(tái)機(jī)器,需要重新做一下同步復(fù)制,結(jié)果在訂閱的時(shí)候出錯(cuò)了。
顯示的錯(cuò)誤消息:
錯(cuò)誤消息:
進(jìn)程無法向表“"dbo"."Company"”進(jìn)行大容量復(fù)制。 (源: MSSQL_REPL,錯(cuò)誤號(hào): MSSQL_REPL20037)
獲取幫助: http://help/MSSQL_REPL20037
成批發(fā)送失敗
在數(shù)據(jù)流中缺少用于大容量復(fù)制 text、ntext 或 image 數(shù)據(jù)的文本長度。 (源: MSSQLServer,錯(cuò)誤號(hào): 4813)
獲取幫助: http://help/4813
若要獲取詳細(xì)說明初始化訂閱表時(shí)所遇到的錯(cuò)誤的錯(cuò)誤文件,請執(zhí)行在下面顯示的 bcp 命令。有關(guān)該 bcp 實(shí)用工具及其支持的選項(xiàng)的詳細(xì)信息,請參閱 BOL。 (源: MSSQLServer,錯(cuò)誤號(hào): 20253)
獲取幫助: http://help/20253
bcp "xxx"."dbo"."Company" in "d:\ReplData\unc\WIN-39LLDBLGOAH_CR173COM_173\20131209110101\Company_2.bcp" -e "errorfile" -t"\n<x$3>\n" -r"\n<,@g>\n" -m10000 -SWIN-URF3GO69MJ2 -T -w (源: MSSQLServer,錯(cuò)誤號(hào): 20253)
獲取幫助: http://help/20253
解決方案:
1、將 服務(wù)器 -> 屬性 -> 高級(jí)將中 最大文本復(fù)制大小 改大一點(diǎn)。最小加兩個(gè)0
(這么搞了一下還是不行)
后來排查到這張表有一列很長且有特殊html標(biāo)簽類/<&%|^等特殊字符,去掉該列就很順利的發(fā)布成功了.
但實(shí)際中這個(gè)排除是非常難的,你根本不知道是哪一條記錄有特殊字符。
后來將所有字符集全部改成 unicode 才解決。
將所有的非unicode(varchar/char/text) 類型字段調(diào)整為unicode(nvarchar/nchar/ntext)類型即可"
看來以后在新建表的時(shí)候還是最好采用 unicode 字符集