SQL Serverで「レプリケートされる LOB データ (164200) の長さが、構成した最大長 65536 を超えています。・・・」のエラーの対処に関して紹介します。
SQL Server にレコードをinsertすると、下記のエラーが発生します。
Image, Text, その他バイナリなど、長いデータを挿入した場合に発生します。
max text repl size オプションを変更します。
対象のデータベースで、下記のSQLを実行します。
EXEC sp_configure 'show advanced options', 1 ;
EXEC sp_configure 'max text repl size', -1;
RECONFIGURE;
実行されると下図の結果となります。
データベースを明示的に指定する場合は、下記のコードを利用します。
USE [データベース名];
GO
EXEC sp_configure 'show advanced options', 1 ;
RECONFIGURE ;
GO
EXEC sp_configure 'max text repl size', (サイズ) ;
GO
RECONFIGURE;
GO
USE iPentecSandbox ;
GO
EXEC sp_configure 'show advanced options', 1 ;
RECONFIGURE ;
GO
EXEC sp_configure 'max text repl size', -1 ;
GO
RECONFIGURE;
GO
SQL Server Management Studio で'max text repl size'の値を変更する場合は、SQL Server Management Studioを起動し、左側のオブジェクトエクスプローラでサーバーのノードをクリックして選択し、右クリックします。下図のポップアップメニューが表示されるので、メニューの[プロパティ]をクリックします。
[サーバーのプロパティ]ダイアログが表示されます。
左側の[ページの選択]リストボックスから[詳細設定]の項目をクリックします。下図の画面が表示されます。
右側の値のリストの[テキストレプリケーションの最大サイズ]の項目の値を変更します。下図は"-1"に設定することで、制限なしの設定にしています。
コマンド実行後、データベースにレコードを挿入してエラーが発生しないか確認します。
max text repl size オプションは、INSERT, UPDATE, WRITETEXT, UPDATETEXT の各ステートメント内で、レプリケート対象列、キャプチャ対象列でデータ型が、text 型, ntext 型, varchar(max) 型, nvarchar(max) 型, varbinary(max) 型, xml 型, image 型の最大データサイズを指定するオプションです。
サイズは、バイト単位で指定し、デフォルト値は65,535です。値が-1の場合は、制限なしとなります。