要複製的LOB資料的長度超出了配置的最大值65536

ywxj_001發表於2021-07-28

報錯:


原因分析:

SQL SERVER報錯資訊已經告訴我們,與引數“max text repl size”有關,對於該引數,官方文件解釋如下:


The max text repl size option specifies the maximum size (in bytes) of text, ntext, varchar(max), nvarchar(max), 

varbinary(max), xml, and image data that can be added to a replicated column or captured column in a single 

INSERT, UPDATE, WRITETEXT, or UPDATETEXT statement. The default value is 65536 bytes. A value of -1 indicates 

that there is no size limit, other than the limit imposed by the data type.


翻譯為中文:max text repl size (做大文字複製尺寸) 選項是指在執行INSERT, UPDATE, WRITETEXT,或者 UPDATETEXT 

的時候,對於資料型別text, ntext, varchar(max), nvarchar(max), varbinary(max), xml,  image 可以被新增到複製列或者

捕獲列的最大長度。預設值是65536,如果設定為”-1”,則長度無限制。


 


簡而言之,當引數max text repl size為65536時,如果釋出資料庫(主庫)在執行INSERT, UPDATE, WRITETEXT, 

UPDATETEXT操作時,列的字元長度超過了65536,就會產生複製操作失敗,同時主庫的INSERT, UPDATE, 

WRITETEXT, UPDATETEXT也會失敗。


這個表開啟了CDC,所以在複製時候捕獲列最大長度不能超過65536。


解決辦法:

1、設定max text repl size為-1。

2、設定 max text repl size為一個較大數值。


選擇第二種解決方案:


問題解決。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22996654/viewspace-2783913/,如需轉載,請註明出處,否則將追究法律責任。

相關文章