Č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 i dalje redovito suočavaju sa situacijom zastoja. U idealnom slučaju, poslužitelj baze podataka trebao bi moći dohvatiti više zahtjeva, ali to često rezultira blokovima. Sukobi u kojima jedan proces čeka oslobađanje drugog resursa nazivaju se blokovi. A tu su i mrtve točke.
Zamislite situaciju u kojoj jedna osoba traži od druge da oslobodi resurs, a druga čeka da prva oslobodi. Kao rezultat toga, oboje su zapeli u bezizlaznoj situaciji. Nijedan proces ne može se nastaviti jer su oba zaključana i zahtijevaju da drugi oslobodi resurs ili zaključa.
Tijekom rada sa SQL servers, zastoji su prilično česti i mogu omesti cijeli proces. Nije moguće u potpunosti izbjeći zastoje, ali sigurno se može smanjiti mogućnost stvaranja zastoja.
Problemi bez zastoja

Treba napomenuti da zastoji izravno utječu na performanse i mogu zaustaviti obradu baze podataka.
1. Zadržite redoslijed istim
Zastoji se neizbježno javljaju ako se resursi ne obrađuju dobro definiranim redoslijedom. Kako bi se smanjili zastoji, sve istovremene transakcije trebale bi pristupati objektima dobro definiranim redoslijedom. DBA-ovi trebaju osmisliti jasan skup pravila za pristup objektima baze podataka. Obično nadzornici zaključavanja provode provjeru zastoja i kada se otkriju, odabiru jednu žrtvu zastoja i vraćaju njezinu transakciju unatrag. Dakle, sve se brave otključavaju i prethodnim sesijama je dopušteno nastaviti proces. Žrtve zastoja biraju se na temelju prioriteta zastoja koji je postavio poslužitelj ili troškova vraćanja unatrag.
2. Ograničenje tijekom transakcije
Možete ograničiti korisnike na unos bilo koje vrste podataka dok se transakcija obrađuje i možete ažurirati podatke prije transakcije kako biste izbjegli zastoje. Također, pokušajte zadržati korisničku interakciju na minimalnim razinama jer to utječe na brzinu. U idealnom slučaju, transakcije bi trebale biti kratke i brze kako bi se izbjegle blokade. 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 netko pokrene upit prema tablici na zadanoj SQL razini izolacije, tablica se zaključava i sljedeći upiti moraju čekati izdanje. NOLOCK Savjet je koristan u takvim situacijama jer dopušta poništavanje zaključavanja tablice, a drugi upiti dobivaju jednostavan pristup.
4. Koristite vezane veze
Ako ista aplikacija može otvoriti dvije ili više veza koje mogu međusobno surađivati, tada ne bi stvarala zastoje. Zbog toga se savjetuje korištenje vezanih veza.
Zastoji nisu jedina gnjavaža s kojom ćete se vjerojatno susresti dok radite na SQL Server baza podataka. Zapravo incidenti od sql korupcija veća je vjerojatnost da će vam uzrokovati tugu. Kako biste izbjegli gubitak podataka, uložite u snažan alat za oporavak kao što je DataNumen SQL Recovery.
Uvod za autora:
Victor Simon je stručnjak za oporavak podataka u DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući mdb oporavak i softverski proizvodi za oporavak sql-a. Za više informacija posjetite https://www.datanumen.com/