Domanda

Articolo online MSDN "Scegliere livelli di isolamento basati su versioni di riga di riga" stati:

  • "tempdb Deve avere abbastanza spazio su disco per il negozio di versioni. Se ci sono transazioni di lunga durata, tutte le versioni generate dalle transazioni di aggiornamento durante il tempo devono essere conservate tempdb. Se tempdb Si esaurisce lo spazio, le operazioni di aggiornamento non falliscono, ma le operazioni di lettura che utilizzano la versione di riga potrebbero fallire "

Puoi spiegarmi perché?
Tenendo conto di questo (citando lo stesso articolo):

  • "Quando uno READ_COMMITTED_SNAPSHOT o ALLOW_SNAPSHOT_ISOLATION Le opzioni di database sono attive, aggiornare ed eliminare le transazioni per un determinato database devono mantenere le versioni di riga anche quando non ci sono transazioni utilizzando un livello di isolamento basato su versioni di riga ... perché le versioni record sono archiviate in tempdb"

Cioè, le operazioni di aggiornamento (ma non letta) richiedono spazio per la versione di riga dovrebbe non aver fallito IMO a causa della mancanza di spazio.
E perché leggi le operazioni falliscono se non richiedono l'archiviazione della versione in tempdb ?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top