Transaktionell NTFS (TxF) är en teknik i Windows Vista och senare operativsystem som gör att filoperationer kan utföras på en NTFS-partition med hjälp av transaktioner, vilket ger stöd för atomicitet, konsistens, isolering och tillförlitlighet ( ACID ) semantik. Tekniken gör att atomoperationer kan utföras på en fil, på flera filer och på flera datakällor som registret och databaser . Tekniken är utformad för att förbättra tillförlitligheten hos applikationer som skapas genom att hjälpa till att bibehålla dataintegriteten och för att förenkla utvecklingen av dem på grund av en betydande minskning av mängden felhanteringskod.
Kernel Transaction Manager (KTM) implementerar transaktions-NTFS och transaktionsregister (TxR). För att utveckla applikationer som utför transaktioner med andra resurser är det nödvändigt att utveckla en transaktionsstödtjänst, även kallad resurshanterare. COM+ -applikationer måste använda sin ursprungliga transaktionshanterare.
Kernel Transaction Manager kan arbeta direkt med Distributed Transaction Coordinator (DTC), vilket gör att DTC-aktiverade applikationer kan kombinera transaktionsfiloperationer med andra transaktionsteknologier till en enda transaktion.
En typisk användning av transaktions-NTFS består av följande steg:
Deskriptoroperationer använder de vanliga Win32 API -filfunktionerna (till exempel WriteFile). Det finns explicita transaktionsfunktioner för operationer som använder filnamn.
transaktionsfunktion | Icke-transaktionell motpart | Beskrivning |
---|---|---|
Skapa Transaktion | Skapar en transaktion | |
CreateFileTransacted | Skapa fil | Skapa (öppna) en fil |
CopyFileTransacted | CopyFileEx | Fil kopia |
MoveFileTransacted | MoveFileWithProgress | Flytta en fil eller katalog |
DeleteFileTransacted | Radera fil | Ta bort en fil |
CreateDirectoryTransacted | CreateDirectoryEx | Skapa en katalog |
RemoveDirectoryTransacted | RemoveDirectory | Ta bort en katalog |
Återställ transaktion | Återställer en transaktion | |
CommitTransaction | Transaktionsåtagande |
Ett annat sätt är att använda TxF via DTC. För detta behöver du:
Microsoft avråder dock starkt utvecklare från att använda TxF i applikationer och varnar för att tekniken kanske inte är tillgänglig i framtida versioner av Microsoft Windows .