Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413

    read uncommitted sql server

    ciao a tutti...
    come si fa a sapere in sql server che livello di blocchi ho sul database?

    io dovrei mettere le tabelle del mio DB in read uncommitted per gestire la concorrenza sui dati.


    come si fa?

    grazie a tutti.

  2. #2
    Puoi settare l'isolamento a livello di sessione con questo codice t-sql:

    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED


  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    grazie!!!

    puoi spiegarmi pero nel dettaglio cosa fa di preciso la tua stringa e che rischi corro...

  4. #4
    Ah scusa.. pensavo ne fossi già al corrente

    Ci sono 4 livelli di isolamento su SqlServer:

    READ UNCOMMITTED
    Possibilità di leggere i dati dal database anche se sono presenti blocchi da parte di altre transazioni. Tramite questo tipo di isolamento potresti leggere dati non ancora aggiornati da altre transazioni in corso.

    READ COMMITTED
    Permette di leggere dati solo già aggiornati dalle altre transazioni in corso.

    REPEATABLE READ
    Crea un lock sulla tabella/e per evitare che altre transazioni effettuino aggiornamenti (ma non inserimenti).

    SERIALIZABLE
    Crea un blocco esclusivo sulla tabella/e per tutta la durata della transazione.

    Se cerchi in giro trovi maggiori info a riguardo.. io ho scritto un pò in fretta


  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    ma il codice che mi hai postato lo lancio da query analizer?

    e ha effetto su tutti i db di sql server o solo su quello che voglio io?

    perche ti spiego ho costantemente problemi di timeout su sql server...penso sia proprio dovuto al controllo sulla concorrenza dei dati.
    Penso di risolverlo mettendo le tabelle in read uncommitted.
    Perchè penso che attualmente ilproblema sia dovuto al fatto che troppi record rimangono occupati in accesso esclusivo...

  6. #6
    Il codice che ti ho dato fa riferimento ad una transazione.

    In che modo leggi i dati dal db? Tramite il query analizer? In questo caso basta indicare quella riga in alto prima delle query.

    Se utilizzi asp/asp.net puoi direttamente indicare la stringa prima delle istruzioni sql ma su asp.net esistono proprietà e metodi apposta per la classe SqlClient.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.