2628: String or binary data would be truncated in table, column ...; truncated value(文字列またはバイナリデータが切り詰められる (テーブル/列/値を表示))
SQL Server意味
8152 の拡張版 (SQL Server 2019 以降)。どのテーブル、どの列、どの値が切り詰められるかを明示的に報告する。
原因
ターゲット列の定義長より長いテキスト/バイナリ値の書き込み。通常はスキーマの不一致、または想定外の長さの入力データ。
対処方法
エラーテキストのテーブル名と列名を確認し、列を広げるかソース値を短くする。SQL Server 2019 では、2628 はデフォルトで互換性レベル 150 以上でのみ発生する。それより低いレベルでは ALTER DATABASE SCOPED CONFIGURATION SET VERBOSE_TRUNCATION_WARNINGS = ON またはトレースフラグ 460 で有効にする。SQL Server 2016 SP2 CU6 および 2017 CU12 以降では、トレースフラグ 460 で同じ詳細メッセージが得られる。転送層でフィールド長をターゲットに合わせる。
同じデータベースの他の項目
- 547The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint(FOREIGN KEY / CHECK 制約との競合)
- 18456Login failed for user(ユーザーのログイン失敗)
- 8152String or binary data would be truncated(文字列またはバイナリデータが切り詰められる)
- 1222Lock request time out period exceeded(ロック要求のタイムアウト期間を超過)
- 9002The transaction log for database is full due to ...(トランザクションログが満杯)
- 1105Could not allocate space for object in database because the filegroup is full(ファイルグループが満杯のため領域を割り当てられない)
- 208Invalid object name(無効なオブジェクト名)