Prüfsumme und Prüfsummenfunktion – SQL Server

X

Datenschutz & Cookies

Diese Seite verwendet Cookies. Indem Sie fortfahren, stimmen Sie deren Verwendung zu. Erfahren Sie mehr, einschließlich der Kontrolle von Cookies.

Verstanden!

Advertisements

Prüfsumme ist ein berechneter Wert mit fester Länge. Es wird verwendet, um die zufälligen Fehler in der Datenübertragung zu erkennen.

Normalerweise wird ein Algorithmus verwendet, um den Prüfsummenwert zu berechnen, und jeder Algorithmus ist für ein bestimmtes Ziel ausgelegt.

Prüfsummenfunktionen oder -algorithmen beziehen sich auf Hash–Funktionen, Fingerabdrücke, Randomisierungsfunktionen und kryptografische Hash-Funktionen

Wenige Prüfsummenalgorithmen

  • Paritätsbyte
  • Modulare Summe
  • Positionsabhängige Prüfsummen

Funktion Checksum() – SQL Server

Diese Hash-Funktion wird verwendet, um den Prüfsummenwert für eine ganze Zeile oder Liste von Ausdrücken oder Spalten zu berechnen. Es gibt einen berechneten ganzzahligen Wert zurück.

Prüfsummenargumente werden verwendet, um den Prüfsummenwert für die gesamte Zeile oder bestimmte Spalten oder Ausdrücke zu berechnen, die durch Kommas mit gültigen Datentypen getrennt sind.

Ungültige Datentypen sind text, ntext, image, XML und cursor sowie sql_variant.

Implementierung

0. Prüfsumme für Nullwert berechnen.

pic1

1. Prüfsumme mit Ausdruck berechnen

Prüfsumme auswählen(‚SQL‘, ‚Server‘, ‚Reiter‘)

Ausgabe: -1450562993

2. Berechnen Sie die Prüfsumme anhand bestimmter Spalten in der Adventureworks-Tabelle.

pic13. Prüfsumme für gesamte Zeile berechnen

pic2Diese Prüfsummenfunktion kann im Data Warehouse verwendet werden, um Änderungen in einer Zeile zu erkennen. Die checksum() kann jedoch denselben Wert für zwei verschiedene Argumente zurückgeben. Denn der checksum () -Algorithmus berechnet wenige Bits in einem Byte und gibt uns nur 4 Byte (Ganzzahl) Wert aus für die gesamten Daten. Daher sind die Möglichkeiten, Kollisionen oder Duplikate zu erhalten, hoch.

Eigentlich ist CHECKSUM für die Erstellung von Hash-Indizes in SQL Server vorgesehen.

Dieses Problem wurde in einem anderen Blog sehr deutlich erklärt. Sie können CHECKSUM Schwäche erklärt beziehen.

SQL Server verfügt über andere Hash-Funktionen wie CHECKSUM_AGG () ,HASHBYTES () und
BINARY_CHECKSUM () . Ich werde diese Funktionen in meinem nächsten Blogbeitrag erläutern.

Anzeigen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.