Vad är en lås i sql ?


 Vad är “Lock” ?
En rad tabell-nivå låsning tips kan anges med SELECT, kan införa, uppdatera, och DELETE uttalanden direkt Microsoft SQL Server 00/05/08 till den typ av lås som ska användas. Tabell-nivå låsning tips kan användas när en mer noggrann kontroll av de typer av lås som förvärvats på ett objekt krävs. Dessa låsning tips åsidosätta den nuvarande transaktionen isolering för sessionen.

Vad är en “Deadlock”?
Förregling uppstår när två användare processer har lås på separata objekt och varje process försöker värva ett lås på det objekt som den andra processen har. När detta händer, identifierar SQL Server problemet och avslutar dödläget genom att automatiskt välja en process och avbryta den andra processen, så att andra kan fortsätta. Den avbrutna transaktionen avbryts och ett felmeddelande skickas till användaren av aborterade processen. Generellt sett är den transaktion som kräver minst av overhead till rollback den transaktion som avbryts.

•Vilka är de åtgärder du kan vidta för att undvika “Blockerat låsläge”?

Här är några tips om hur man undviker förregling på din SQL Server:
1 Se till att databasen designen är ordentligt normaliseras.
2 Har ansökan objekt tillgång server i samma ordning varje gång.
3 Under transaktioner, tillåter inte några signaler från användaren. Samla det innan transaktionen påbörjas.
4 Undvik markörer.
5 Håll transaktioner så korta som möjligt. Ett sätt att hjälpa till att åstadkomma detta är att minska antalet turer mellan din ansökan och SQL Server med hjälp av lagrade procedurer eller håller transaktioner med ett enda parti. Ett annat sätt att minska den tid en transaktion tar att slutföra är att se till att du inte utför lika läser om och om igen. Om din ansökan behöver läsa samma uppgifter mer än en gång, cache det genom att lagra den i en variabel eller en array, och sedan läsa den därifrån, inte från SQL Server.
6 Minska lås tid. Försök att utveckla din ansökan så att den griper låser senast möjliga tid, och sedan släpper dem på de allra tidigaste tiden.
7 Om det är lämpligt, minska lås upptrappning med hjälp av rowlock eller paglock.
8 Överväg att använda nolock tipset att förhindra låsning om data låsas ändras inte ofta.
9 Om det är lämpligt att användas som låg i en isolering nivå som möjligt för användaren anslutning kör transaktionen.
10 Överväg att använda bundna anslutningar.

Khan MCTS – www.addarr.com

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s