DBAtlas · データベース運用アトラス

8152: String or binary data would be truncated(文字列またはバイナリデータが切り詰められる)

SQL Server

意味

列の定義長より長いデータを書き込もうとした。SQL Server はデータ損失を防ぐため文を停止する (2628 は列/値を報告する同じエラーの新しい版)。

原因

例えば VARCHAR(10) 列への 15 文字の書き込み、ソースより狭いターゲット列、データ型/長さの不一致、または ETL/転送でのフィールドサイズ不足。

対処方法

データに合わせて列を広げる (ALTER TABLE ... ALTER COLUMN) か、データを短くする。SQL Server 2019 以降では、あふれたテーブル/列/値を示すエラー 2628 を使う。それ以前のバージョンでは LEN() で列を 1 つずつ確認して該当行を特定する。転送ではソースとターゲットのスキーマ長を揃える。

DBAtlas で開く →

同じデータベースの他の項目