Das folgende Skript wird folgende Fehlermeldung gibt: "Msg 8152, Ebene 16, Status 10, Zeile 10 String oder Binärdaten würden abgeschnitten"HASHBYTES funktionieren
select convert(varbinary(max),HASHBYTES('md2',(select [Secteur]
,[Hub]
,[Group]
,[Enterprise]
,[Manager]
,[BM]
from [Hubs] for XML auto)))
Ich erwähne, dass die maximale Länge der Eingabezeilen 123 Bytes ist.
Irgendwelche Ideen, warum diese Nachricht? (Ich benutze SQL Server 2014) Vielen Dank
offizielle Dokumentation sagt, Wert maximale Rendite zu berechnen ist 'varbinary (maximal 8000 Bytes)' – TheGameiswar
oder mehr einschlägig es sagt auch "Für SQL Server 2014 und früher sind zulässige Eingabewerte auf 8000 Bytes begrenzt." –
Sie haben weder ein 'ORDER BY' noch ein' WHERE' in Ihrer Anfrage. Das bedeutet, dass Sie die gesamte Tabelle in XML konvertieren, wobei die Reihenfolge der Zeilen nicht deterministisch ist. Das ist wahrscheinlich nicht das, was Sie als Eingabe für einen Hash wünschen. Wenn Sie lediglich einen Mechanismus benötigen, um zu erkennen, ob sich die Daten geändert haben und Sie nicht mit einem MD2-Hash über XML verheiratet sind, sollten Sie 'CHECKSUM_AGG' verwenden. –