Ich habe eine gespeicherte Prozedur, die 650 Felder in eine Tabelle einfügt. Das Einfügen schlägt mit einem Kürzungsfehler fehl.
Es ist einfach
INSERT INTO
SELECT (a bunch of fields)
FROM (a bunch of tables)
Unten ist die Fehlermeldung:
Nachricht 8152, Ebene 16, Status 14, Prozedur DSP_Procedure, Zeile 1075 Zeichenfolge oder Binärdaten werden abgeschnitten.
Gibt es eine schnelle Möglichkeit, um festzustellen, welches Feld den Kürzungsfehler verursacht?
Die Tatsache, dass die in die Tabelle einzufügende select-Anweisung 650 Felder enthält, macht es schwierig, genau zu bestimmen, welches Feld den Kürzungsfehler verursacht.
Ich denke, ich kann vielleicht Feldblöcke gleichzeitig auskommentieren, damit der SP jeweils nur 100 Felder einfügt und dann den SP 6 oder 7 verschiedene Male ausführt, bis ich mich zumindest auf eine Gruppe von 100 Feldern eingrenzen kann Das enthält das Feld, das den Kürzungsfehler verursacht.
Alternativ denke ich, dass ich vielleicht nur SELECT INTO
eine neue Tabelle erstellen und dann die Datenlängen in der Tabelle mit den Datenlängen der Zieltabelle vergleichen kann, in die ich in meinen SP einfügen möchte, um festzustellen, welches Feld eine längere als erwartete Feldlänge enthält. ..
Ich verwende SQL Server 2014.
Irgendwelche einfacheren Alternativen?