Buongiorno a tutti,
qualcuno sa consigliarmi come impostare un lock sulle righe di una tabella in SQL Server 2000? Non a livello di applicazione, direttamente sul database!![]()
Kisses,
Nat
Buongiorno a tutti,
qualcuno sa consigliarmi come impostare un lock sulle righe di una tabella in SQL Server 2000? Non a livello di applicazione, direttamente sul database!![]()
Kisses,
Nat
Il lock lo vuoi fissare in fase di esecuzione query oppure vuoi dire "ora blocca tutto" ...?
Non capisco cosa intendi.. il database blocca da solo le righe mentre, ad es., fai un update o delete...
:master:
In fase di esecuzione query. Ma se mi assicuri che due utenti non possono aggiornare contemporaneamente la stessa riga per impostazione di default di SQL Server 2000, siamo a posto. In questo caso, però, se scrivo una bella applicazione che effettua un INSERT o un UPDATE di una riga, e due utenti cercano di aggiornare contemporaneamente la stessa riga, che cosa vede l'utente che trova la riga bloccata? Messaggio d'errore, o cosa?
Kisses,
Nat
Ok ora ho capito.Originariamente inviato da natasha
In fase di esecuzione query. Ma se mi assicuri che due utenti non possono aggiornare contemporaneamente la stessa riga per impostazione di default di SQL Server 2000, siamo a posto. In questo caso, però, se scrivo una bella applicazione che effettua un INSERT o un UPDATE di una riga, e due utenti cercano di aggiornare contemporaneamente la stessa riga, che cosa vede l'utente che trova la riga bloccata? Messaggio d'errore, o cosa?
Kisses,
Nat
Guarda in fase di scrittura sul database non vedrai mai un errore del genere, fidati e se mai capiterà vuol dire che il tuo sito ha davvero troppi accessi e che è ora di aumentare la banda
In fase di lettura può succedere invece. E' successo anche a me tempo fa mentre debuggavo un grosso servizio per html.it. Come prova avevamo messo proprio qui sul forum un piccolo script di richiamo al database che effettuava delle insert/update. Intanto io mi leggevo i dati sul db ma con la marea di connessioni in arrivo (sto forum è veramente un macello) spesso mi andava in timeout perché rimaneva in attesa di lettura. E' bastato configurare la lettura su database in modalità ReadUncommitted (senza "locckare" le righe) che tutto è filato liscio.
Ti do un interessante link da leggere: http://www.sql-server-performance.co...ocks_hints.asp