「レプリケートされる LOB データ (......) の長さが、構成した最大長 65536 を超えています。」エラーが発生し、データベースにレコードの挿入ができない

SQL Serverで「レプリケートされる LOB データ (164200) の長さが、構成した最大長 65536 を超えています。・・・」のエラーの対処に関して紹介します。

現象

SQL Server にレコードをinsertすると、下記のエラーが発生します。

レプリケートされる LOB データ (nnnnnn) の長さが、構成した最大長 65536 を超えています。ストアドプロシージャ sp_configure を使用して、 max text repl size オプションで構成されている最大値 (規定値は 65536) を増やしてください。値を -1 にすると、データ型による制限以外の制限がなくなります。

「レプリケートされる LOB データ (......) の長さが、構成した最大長 65536 を超えています。」エラーが発生し、データベースにレコードの挿入ができない:画像1

Image, Text, その他バイナリなど、長いデータを挿入した場合に発生します。

対策

max text repl size オプションを変更します。

対象のデータベースで、下記のSQLを実行します。

EXEC sp_configure 'show advanced options', 1 ;   
EXEC sp_configure 'max text repl size', -1; 
RECONFIGURE;   

設定を反映するために、RECONFIGURE ステートメントの実行が必要です。

実行結果

実行されると下図の結果となります。
「レプリケートされる LOB データ (......) の長さが、構成した最大長 65536 を超えています。」エラーが発生し、データベースにレコードの挿入ができない:画像2

補足

データベースを明示的に指定する場合は、下記のコードを利用します。

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 で変更する場合

SQL Server Management Studio で'max text repl size'の値を変更する場合は、SQL Server Management Studioを起動し、左側のオブジェクトエクスプローラでサーバーのノードをクリックして選択し、右クリックします。下図のポップアップメニューが表示されるので、メニューの[プロパティ]をクリックします。
「レプリケートされる LOB データ (......) の長さが、構成した最大長 65536 を超えています。」エラーが発生し、データベースにレコードの挿入ができない:画像3

[サーバーのプロパティ]ダイアログが表示されます。
「レプリケートされる LOB データ (......) の長さが、構成した最大長 65536 を超えています。」エラーが発生し、データベースにレコードの挿入ができない:画像4

左側の[ページの選択]リストボックスから[詳細設定]の項目をクリックします。下図の画面が表示されます。
「レプリケートされる LOB データ (......) の長さが、構成した最大長 65536 を超えています。」エラーが発生し、データベースにレコードの挿入ができない:画像5

右側の値のリストの[テキストレプリケーションの最大サイズ]の項目の値を変更します。下図は"-1"に設定することで、制限なしの設定にしています。
「レプリケートされる LOB データ (......) の長さが、構成した最大長 65536 を超えています。」エラーが発生し、データベースにレコードの挿入ができない:画像6

動作確認

コマンド実行後、データベースにレコードを挿入してエラーが発生しないか確認します。

max text repl size オプションとは

max text repl size オプションは、INSERT, UPDATE, WRITETEXT, UPDATETEXT の各ステートメント内で、レプリケート対象列、キャプチャ対象列でデータ型が、text 型, ntext 型, varchar(max) 型, nvarchar(max) 型, varbinary(max) 型, xml 型, image 型の最大データサイズを指定するオプションです。
サイズは、バイト単位で指定し、デフォルト値は65,535です。値が-1の場合は、制限なしとなります。


AuthorPortraitAlt
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2016-10-24
Copyright © 1995–2025 iPentec all rights reserverd.