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() 逐列检查以找出有问题的行。在传输中对齐源与目标的 schema 长度。

在 DBAtlas 中打开 →

同一数据库的其他条目