|
|
Publisert på 20.07.2016 14:02:51
|
|
|

NOLOCK Når dette alternativet er valgt, leser eller endrer SQL Server data uten noen låser. I dette tilfellet kan brukeren lese data fra en uforpliktet transaksjon eller Roll Back, kjent som «skitne data».
HOLDLOCK Når dette alternativet er valgt, opprettholder SQL Server denne delte låsen til slutten av hele transaksjonen uten å slippe den underveis.
UPDLOCK Når dette alternativet er valgt, bruker SQL Server en modificeringslås i stedet for en delt lås når den leser data, og opprettholder denne låsen til hele transaksjonen eller kommandoen er ferdig. Dette alternativet sikrer at flere prosesser kan lese data samtidig, men bare den prosessen kan endre dataene.
TABLOCK Når dette alternativet er valgt, vil SQL Server plassere en delt lås på hele tabellen til kommandoen avsluttes. Dette alternativet sikrer at andre prosesser kun kan lese og ikke endre dataene.
PAGLOCK Dette alternativet er standardvalget, og når det er valgt, bruker SQL Server en delt sidelås.
TABLOCKX (Eksklusiv bordlås) Når dette alternativet er valgt, vil SQL Server låse hele tabellen til kommandoen eller transaksjonen avsluttes. Dette vil forhindre at andre prosesser leser eller endrer dataene i tabellen.
HOLDLOCK holder den delte låsen til hele transaksjonen er fullført, og bør frigjøres så snart det låste objektet ikke lenger trengs, tilsvarende nivået for transaksjonsisolasjon
NOLOCK-setningen utføres uten å utstede en delt lås, noe som tillater skitne lesinger, som tilsvarer nivået for READ UNCOMMITTED transaksjonsisolasjonsnivået
PAGLOCK bruker flere sidelåser hvor én tabelllås brukes
READPAST lar SQL-serveren hoppe over låste linjer og utføre transaksjoner, og for READ UNCOMMITTED transaksjonsisolasjonsnivåer, kun hoppe over RID-låser, ikke side-, sone- og tabelllåser
ROWLOCK håndhever bruken av rowlocks
TABLOCKX håndhever bruk av en eksklusiv tabellnivålås, som forhindrer at andre transaksjoner bruker tabellen under transaksjonen
UPLOCK tvinger bruk av oppdateringer når man leser en tabell uten delt lås
Merk: Forskjellen mellom å låse en tabell i en database VELG * FRA tabell MED (HOLDLOCK) Andre transaksjoner kan lese tabellen, men kan ikke oppdatere eller slette VELG * FRA tabell MED (TABLOCKX) Andre transaksjoner kan ikke lese, oppdatere og slette tabeller |
Foregående:Låser, skitne lesninger, urepeterbare lesninger og falske lesninger i SQLNeste:SQL Server ser på deadlocken og frigjør deadlocken
|