8152: String or binary data would be truncated (String- oder Binärdaten würden abgeschnitten)
SQL ServerWas bedeutet das?
Du hast versucht, Daten zu schreiben, die länger als die definierte Länge einer Spalte sind. SQL Server stoppt das Statement, um Datenverlust zu verhindern (2628 ist die neuere Version desselben Fehlers, die Spalte/Wert meldet).
Ursache
Zum Beispiel 15 Zeichen in eine VARCHAR(10)-Spalte schreiben, eine Zielspalte schmaler als die Quelle, eine Abweichung bei Datentyp/Länge oder zu kleine Feldgrößen bei ETL/Übertragungen.
Lösung
Verbreitere die Spalte passend zu den Daten (ALTER TABLE ... ALTER COLUMN) oder kürze die Daten. Nutze ab SQL Server 2019 den Fehler 2628, der die übergelaufene Tabelle/Spalte/den Wert zeigt; prüfe in älteren Versionen die Spalten einzeln mit LEN(), um die betroffene Zeile zu finden. Gleiche bei Übertragungen die Längen von Quell- und Zielschema ab.
Weitere Einträge zu dieser Datenbank
- 2601Cannot insert duplicate key row in object with unique index. The duplicate key value is ... (doppelte Schlüsselzeile in Objekt mit Unique Index nicht einfügbar)
- 547The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint (Statement kollidiert mit FOREIGN-KEY-/CHECK-Constraint)
- 18456Login failed for user (Anmeldung für Benutzer fehlgeschlagen)
- 2628String or binary data would be truncated in table, column ...; truncated value (Daten würden in Tabelle/Spalte abgeschnitten; abgeschnittener Wert)
- 1222Lock request time out period exceeded (Timeout der Sperranforderung überschritten)
- 9002The transaction log for database is full due to ... (Transaktionslog der Datenbank ist voll wegen ...)
- 1105Could not allocate space for object in database because the filegroup is full (kein Platz für Objekt, da die Dateigruppe voll ist)