|
|
Subject: Lock anomali su SQL 2000
From: Andrea Benedetti
Date: 5/14/2007 10:17:43 AM
Salve lfrance,
"lfrance" <lfrance@discussions.microsoft.com> ha scritto nel messaggio
news:FA21DA18-4519-45FA-B9D2-5D50B2DE18B0@microsoft.com...
> Da un po di tempo rislevo dei lock a livello di tabella quando eseguo
> semplici SELECT su queste ultime oppure quando tengo aperto il progetto
> ADP
> relativo.
> Mi risulta che i lock, in SQL, siano a livello di riga e non di tabella,
> sto
> sbagliando ?
SQL Server gestise lock anche a livello di tabella (ed anche a livello di
database, riga e chiave).
> Come posso verificarlo ed, in caso sia necessario, modificare questa
> proprietà ?
Cercherei di non farlo...
Cosa significa? Significa che SQL Server, sulla base dell'interrogazione
ricevuta sceglie la vie migliore (meno dispendiosa in termini di risorse)
per risolverla.
Questo significa che potrà eseguire un lock su una singola riga o su
un'intera tabella se lo ritiene più opportuno (cercando sempre di permettere
la più alta concorrenza sui dati).
Per modificarli potresti comunque utilizzare un hint di query (per
modificare il lock oppure il livello di isolamento).
Ma se guardi i post di questo news ti accorgerai che è sempre stata un
scelta sconsigliata...
Piuttosto analizzerei le select che vengono inviate in esecuzione e
cercherei di capire se "lavorano" un resultset più grande di quello che
effettivamente serve...
> Grazie
Ciao!
--
Andrea Benedetti
Microsoft MVP - SQL Server
www.absistemi.it - www.ugiss.org
http://blogs.ugidotnet.org/ab
http://mvp.support.microsoft.com
http://italy.mvps.org
|