8152: String or binary data would be truncated (los datos de cadena o binarios se truncarían)
SQL Server¿Qué significa?
Intentó escribir datos más largos que la longitud definida de una columna. SQL Server detiene la sentencia para evitar la pérdida de datos (2628 es la versión más reciente del mismo error que indica la columna/valor).
¿Por qué ocurre?
Por ejemplo, escribir 15 caracteres en una columna VARCHAR(10), una columna de destino más estrecha que el origen, una discrepancia de tipo/longitud de datos o un tamaño de campo insuficiente en ETL/transferencias.
Cómo solucionarlo
Amplíe la columna para que quepan los datos (ALTER TABLE ... ALTER COLUMN) o acorte los datos. En SQL Server 2019+, use el error 2628, que muestra la tabla/columna/valor que desbordó; en versiones anteriores, revise las columnas una a una con LEN() para encontrar la fila problemática. En las transferencias, alinee las longitudes de los esquemas de origen y destino.
Más entradas de este motor
- 2601Cannot insert duplicate key row in object with unique index. The duplicate key value is ... (fila con clave duplicada en un índice único)
- 547The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint (la sentencia entró en conflicto con la restricción FOREIGN KEY / CHECK)
- 18456Login failed for user (error de inicio de sesión del usuario)
- 2628String or binary data would be truncated in table, column ...; truncated value (los datos se truncarían en la tabla y columna indicadas)
- 1222Lock request time out period exceeded (se superó el tiempo de espera de la solicitud de bloqueo)
- 9002The transaction log for database is full due to ... (el log de transacciones de la base de datos está lleno)
- 1105Could not allocate space for object in database because the filegroup is full (no se puede asignar espacio: el filegroup está lleno)