Posts

Showing posts with the label WRITE AHEAD LOGGING

Speed up your Inserts and Updates ...after learning how the Write Ahead Logging mechanism works

Image
Hi Friends,  Thanks for the many views on this blog, i am really happy! Today i will show you a way to speed up your inserts and updates .  This require an explanation (and i hope to do it clearly) of how writing data to disk works. We will talk about Durability , Write ahead logging mechanism and the Log Buffer . As always the one and only way to make SQL Server run faster is to ... know in detail how it works! Enjoy the reading! Intro: ACID properties and the durability Let's take a step back hanging up to a post written some time ago. I would invite you infact to read a post i wrote in 2019, the title is SQL Server: Transazioni, Lock e Deadlock. Un po di teoria spiegata in modo semplice!   We talked about transactions, locks and ACID properties ( Atomicity, Consistency, Isolation, e Durability) of a DBMS. Today we need to remember what durability means. So, what durability means? Durability means that once a transaction has been confirmed changes made must n...

SQL Server: Transazioni, Lock e Deadlock. Un po di teoria spiegata in modo semplice!

Image
Buongiorno a tutti e nuovamente ben ritrovati! Oggi vi volevo parlare di alcuni concetti basilari relativi ai database relazionali che sono assolutamente da sapere. Parleremo di Transazioni , di lock e anche di un tipo particolare di lock detto deadlock . Vi racconterò un po di teoria ma non temete: come al solito cercherò di essere quanto più possibile chiaro! Sei pronti? Allora buona lettura! Diciamo subito cos'è una transazione. Una transazione è una sequenza di operazioni che, se giunta a termine senza errori, produce una variazione di stato nella nostra base dati . Ad esempio: BEGIN TRAN INSERT INTO TABELLA_A (CAMPO1, CAMPO2) VALUES ('VAL1','VAL2') INSERT INTO TABELLA_B(CAMPO1,CAMPO2,CAMPO3) VAULES ('VAL1','VAL2','VAL3') COMMIT oppure INSERT INTO TABELLA_A (CAMPO1, CAMPO2) VALUES ('VAL1','VAL2') Nel primo caso parliamo di transazione esplicita , nel secondo invece ...

SQL Server, il database recovery e le fasi di Analysis, Redo e Undo

Image
Carissimi lettori di nuovo ben trovati! Nello scorso articolo ( Qui ) abbiamo imparato ad utilizzare gli Extended Event di SQL Server per tracciare in profondità eventi non disponibili tramite il Profiler. Lo abbiamo fatto per utilizare oggi questo stesso metodo così da raccontarvi cosa succede durante il processo di recovery del database . Cercheremo di raccontarlo nel modo più semplice possibile al costo di tralasciare qualche aspetto tecnico che magari riprenderemo in futuro. Buona lettura!    Database recovery e le fasi di Analysis, Redo e Undo Se avete avuto la necessità di eseguire un riavvio della istanza di SQL Server vi sarete accorti sicuramente di quanto tempo questo processo impieghi . Ma quali operazioni SQL Server effettua durante questo fondamentale processo? Per scoprirlo (e per effettuare assieme questa prova) occorrerà crearsi un Extended Event il quale estragga i seguenti tre eventi:  database_recovery_progress_report database_recove...