首页 > 代码库 > Length of LOB data exceeds maximum 65536

Length of LOB data exceeds maximum 65536

报错:

Exception: Message: ErrorCode: -2147204784, InnerException: System.Data.SqlClient.SqlException: 

Length of LOB data (115388) to be replicated exceeds configured maximum 65536. 
The statement has been terminated


原因:  
是该数据库启动了SQL Server复制,而你尝试插入数据到一个配置了复制的文章的发布列text、ntext或image。


解决方法:  
为了解决该错误,先给该数据库做个完备,然后运行一下语句:    

sp_configure ‘max text repl size‘, 2147483647     
 Go     
 RECONFIGURE    
 GO

注意:该设置立即生效无需重启SQL Server服务。


更多信息:  
“max text repl size”选项以字节为单位,指定了text、ntext、varchar(max)、nvarchar(max)、varbinary(max)、xml和image类型数据,可以以单一的INSERT、UPDATE、WRITETEXT或UPDATETEXT语句添加到被复制的列,或者被捕获的列。默认大小为65536。该值为-1表明没有限制,而无论数据类型。该选项适用于事务复制和变更数据捕获。当一个实例既配置了事务复制又配置了变更数据捕获,该值对两个特性都适用。该选项不适用于快照复制和合并复制。


参考:  
SQL Server 2008中的Max text repl size选项:    
http://msdn.microsoft.com/en-us/library/ms186225.aspx


本文出自 “SQL Server Deep Dive” 博客,请务必保留此出处http://ultrasql.blog.51cto.com/9591438/1949629

Length of LOB data exceeds maximum 65536