funcția Checksum și Checksum-SQL Server

X

Confidențialitate& cookie-uri

acest site folosește cookie-uri. Continuând, sunteți de acord cu utilizarea lor. Aflați mai multe, inclusiv cum să controlați cookie-urile.

Am Înțeles!

reclame

suma de control este o valoare calculată cu lungime fixă. Este folosit pentru a detecta erorile accidentale în transmisia de date.

de obicei, un algoritm este folosit pentru a calcula valoarea sumei de control și fiecare algoritm este proiectat pentru un anumit scop.

funcții de control sau algoritmi sunt legate de funcții hash, amprente digitale, funcții de randomizare, și funcții hash criptografice

puțini algoritmi de control

  • octet paritate
  • sumă modulară
  • Checksum dependente de poziție

Checksum() funcție-SQL Server

această funcție hash este utilizată pentru a calcula valoarea sumelor de control pentru un întreg rând sau listă de expresii sau coloane. Returnează o valoare întreagă calculată.

argumentele sumelor de control sunt * pentru a calcula valoarea sumelor de control pentru întregul rând sau coloane sau expresii specifice separate prin virgulă cu tipuri de date valide.

tipurile de Date nevalide sunt text, ntext, imagine, XML și cursor și, de asemenea, sql_variant.

implementare

0. Calculați suma de control pentru valoarea nulă.

pic1

1. Calculați suma de control folosind expresia

selectați suma de control (‘SQL’, ‘Server’,’Rider’)

ieșire: -1450562993

2. Calculați suma de control folosind coloane specifice în tabelul Adventureworks.

pic13. Calculați suma de control pentru întregul rând

pic2 această funcție de control poate fi utilizată în depozitul de date pentru a detecta schimbarea într-un rând. Dar, suma de control() poate returna aceeași valoare pentru două argumente diferite. Deoarece, checksum () algoritmul va calcula câțiva biți într-un octet și ne dă doar 4 octet (întreg) valoare de la pentru datele întregi. Deci, posibilitățile de coliziune sau duplicate sunt mari.

de fapt, suma de control este destinată utilizării în construirea indexurilor hash în SQL Server.

această problemă a fost explicată foarte clar într-un alt blog. Puteți consulta slăbiciunea sumelor de control explicate.

SQL Server are alte funcții hash,cum ar fi CHECKSUM_AGG (), HASHBYTES () și
BINARY_CHECKSUM (). Voi explica despre aceste funcții în următoarea mea postare pe blog.

reclame

Lasă un răspuns

Adresa ta de email nu va fi publicată.