NTFS tranzacțional (TxF) este o tehnologie din Windows Vista și sistemele de operare ulterioare care permite operațiunilor de fișiere să fie efectuate pe o partiție NTFS folosind tranzacții, oferind suport pentru semantică de atomicitate, consistență, izolare și fiabilitate ( ACID ). Tehnologia permite efectuarea de operațiuni atomice pe un fișier, pe mai multe fișiere și pe mai multe surse de date, cum ar fi registrul și bazele de date . Tehnologia este concepută pentru a îmbunătăți fiabilitatea aplicațiilor create, ajutând la menținerea integrității datelor și pentru a simplifica dezvoltarea acestora datorită unei reduceri semnificative a cantității de coduri de tratare a erorilor.
Kernel Transaction Manager (KTM) implementează NTFS tranzacțional și registrul tranzacțional (TxR). Pentru a dezvolta aplicații care efectuează tranzacții cu alte resurse, este necesară dezvoltarea unui serviciu de suport pentru tranzacții, numit și manager de resurse. Aplicațiile COM+ trebuie să folosească managerul lor nativ de tranzacții.
Kernel Transaction Manager poate lucra direct cu Distributed Transaction Coordinator (DTC), care permite aplicațiilor activate pentru DTC să combine operațiunile cu fișierele tranzacționale cu cele ale altor tehnologii tranzacționale într-o singură tranzacție.
O utilizare tipică a NTFS tranzacțional constă în următorii pași:
Operațiile cu descriptori folosesc funcțiile obișnuite ale fișierului Win32 API (de exemplu, WriteFile). Există funcții tranzacționale explicite pentru operațiunile care folosesc nume de fișiere.
functie tranzactionala | Omologul netranzacțional | Descriere |
---|---|---|
Creați o tranzacție | Crearea unei tranzacții | |
CreateFileTransacted | CreateFile | Crearea (deschiderea) unui fișier |
CopyFileTransacted | CopyFileEx | Copiere fișier |
MoveFileTransacted | MoveFileWithProgress | Mutarea unui fișier sau director |
DeleteFileTransacted | Sterge fisierul | Ștergerea unui fișier |
CreateDirectoryTransacted | CreateDirectoryEx | Creați un director |
RemoveDirectoryTransacted | RemoveDirectory | Ștergerea unui director |
RollbackTransaction | Revenire la o tranzacție | |
CommitTransaction | Comitarea tranzacției |
O altă modalitate este să utilizați TxF prin DTC. Pentru asta ai nevoie de:
Cu toate acestea, Microsoft descurajează puternic dezvoltatorii să folosească TxF în aplicații și avertizează că este posibil ca tehnologia să nu fie disponibilă în versiunile viitoare de Microsoft Windows .