Članak predlaže važne savjete za izbjegavanje zastoja SQL Servers
Iako SQL Server je svjedočio ogromnoj evoluciji u posljednjih nekoliko godina, korisnici se još uvijek redovno suočavaju sa situacijom zastoja. U idealnom slučaju, server baze podataka bi trebao biti u mogućnosti da dohvati više zahtjeva, ali to često rezultira blokovima. Konflikti u kojima jedan proces čeka oslobađanje drugog resursa nazivaju se blokovi. A tu su i zastoji.
Zamislite situaciju u kojoj jedna osoba traži od druge da oslobodi resurs, a druga čeka da prva objavi. Kao rezultat toga, obojica su zaglavljeni u situaciji bezizlaza. Nijedan proces se ne može nastaviti jer su oba zaključana i zahtijevaju da drugi oslobodi resurs ili zaključavanje.
Tokom rada sa SQL servers, zastoji su prilično česti i mogu ometati cijeli proces. Nije moguće u potpunosti izbjeći zastoje, ali se sigurno može minimizirati mogućnost stvaranja zastoja.
Problem sa zastojem

Treba napomenuti da zastoji direktno utiču na performanse i mogu zaustaviti obradu baze podataka.
1. Zadržite redosled
Zastoji se neizbježno javljaju ako se resursi ne obrađuju dobro definiranim redoslijedom. Da bi se minimizirali zastoji, sve istovremene transakcije trebaju pristupati objektima dobro definiranim redoslijedom. DBA-ovi trebaju dizajnirati jasan skup pravila za pristup objektima baze podataka. Obično monitori zaključavanja vrše provjeru zastoja i kada se otkrije, odabiru jednu žrtvu zastoja i vraćaju njegovu transakciju unazad. Na taj način se sva zaključavanja otključavaju i prethodnim sesijama je dozvoljeno da nastave proces. Žrtve zastoja se biraju na osnovu prioriteta zastoja koji je postavio server ili troškova vraćanja unazad.
2. Ograničenje tokom Transakcije
Možete ograničiti korisnike da unose bilo koju vrstu podataka kada se transakcija obrađuje i možete ažurirati podatke prije transakcije kako biste izbjegli zastoje. Također, pokušajte zadržati interakciju korisnika na minimalnom nivou jer to utječe na brzinu. U idealnom slučaju, transakcije bi trebale biti kratke i brze kako bi se izbjegle zastoje. Aplikacija treba biti dizajnirana na način da uhvati brave u najkraćem potrebnom vremenu i otpusti ih što je brže moguće.
3. NOLOCK savjet
Kada neko pokrene upit prema tablici na SQL standardnoj razini izolacije, tablica se zaključava i sljedeći upiti moraju čekati izdanje. NOLOCK Hint je koristan u takvim situacijama jer omogućava zaobilaženje zaključavanja tabele i lak pristup drugim upitima.
4. Koristite vezane veze
Ako ista aplikacija može otvoriti dvije ili više veza koje mogu međusobno sarađivati, onda to ne bi stvorilo zastoje. Zato se savjetuje korištenje vezanih veza.
Mrtve tačke nisu jedina gnjavaža koju ćete vjerovatno iskusiti dok radite na a SQL Server baza podataka. U stvari incidenti od sql corruption veća je vjerovatnoća da će vam izazvati tugu. Da biste izbjegli scenarij gubitka podataka, investirajte u moćan alat za oporavak kao što je DataNumen SQL Recovery.
Uvod za autora:
Victor Simon je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući mdb oporavak i sql softverski proizvodi za oporavak. Za više informacija posjetite https://www.datanumen.com/