(一)事故背景
最近在SQL Server 2012生产数据库上配置完事物复制(订阅)后,生产数据库业务出现了报错信息:
要复制的 LOB 数据的长度(xxxxx)超出了配置的最大值 65536。请使用存储过程 sp_configure 为 max text repl size 选项(默认值为 65536)增加配置的最大值。配置值为 -1 表示无限制,其他值表示由数据类型施加限制。
语句已终止。
生产数据库的insert操作无法执行成功,经过确认,是与开启了事物复制有关。
(二)原因分析
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,