Vad är filformatet NDF?
.ndf är en sekundär datafil som används av Microsoft SQL Server för att lagra relationellt databasinnehåll. Den utökar en databas bortom dess primära .mdf-fil, vanligtvis för att sprida data över flera fysiska diskar för förbättrad I/O-genomströmning eller för att överskrida storleksgränser för enskilda filer. En databas kan ha noll eller många .ndf-filer; de är alltid valfria.
Internt använder .ndf-filer det identiska 8 KB sidbaserade binärformatet som primära .mdf-filer. Varje sida är numrerad och klassificerad efter typ: datasidor innehåller tabellrader, indexsidor innehåller B-träd-indexstrukturer och allokeringssidor (PFS, GAM, SGAM) spårar ledigt utrymme. Sidor är grupperade i 64 KB extents om 8 sammanhängande sidor. Valfri komprimering på sidnivå (rad- eller sidkomprimering, SQL Server 2008+) och Transparent Data Encryption (TDE, AES-128/256) tillämpas på .ndf-filer på samma sätt som på .mdf.
En .ndf-fil kan inte öppnas eller återställas isolerat - SQL Server måste koppla den tillsammans med den primära .mdf-filen och transaktionsloggen .ldf som en komplett databasenhet. Den maximala filstorleken är 16 TB i SQL Server 2016 och senare.
Formatet formaliserades med SQL Server 7.0 (1998), och det interna sidformatet har förblivit i stort sett oförändrat sedan dess. SQL Server 2017 utökade stödet till Linux och containermiljöer med samma filformat.
Säkerhet & trygghet
RISK: LOWSQL Server-datafiler är passiva binära datalager. Risken rör datakonfidentialitet - NDF-filer kan innehålla känsligt databasinnehåll. Om de hittas oväntat på ett system, verifiera källdatabasen innan delning. TDE-krypterade NDF-filer kräver krypteringsnyckeln för åtkomst.
Formatdetaljer
i ett nötskal- Navision Database File (äldre Microsoft Dynamics NAV) - .ndf användes som den nativa filändelsen för databaser i äldre Microsoft Navision/Dynamics NAV-installationer före migrering till SQL Server.
Program som öppnar NDF-filer
Tekniska detaljer
djup specifikation| Utvecklare | Microsoft Corporation |
| Kodning | Binär (little-endian) |
| Sidstorlek | 8 KB (8 192 byte) per sida - identiskt internt format som primära MDF-filer |
| Extent-storlek | 64 KB (8 sammanhängande 8 KB-sidor) |
| Sidtyper | Data, index, LOB/text, PFS, GAM, SGAM, IAM och filhuvudsidor |
| Komprimering | Valfritt - rad- eller sidkomprimering (SQL Server 2008+, Enterprise och Developer-utgåvor) |
| Kryptering | Valfritt - Transparent Data Encryption (TDE), AES-128 eller AES-256 (SQL Server 2008+) |
| Sidintegritet | PAGE_VERIFY CHECKSUM som standard sedan SQL Server 2005; lagras i 96-byte sidhuvud |
| Maximal filstorlek | 16 TB (SQL Server 2016+) |
| Standardvärde för automatisk tillväxt | 64 MB per händelse (SQL Server 2012+) |
| Plattform | Windows; Linux (SQL Server 2017+); Docker och containermiljöer |
| Beroende | Kan inte öppnas ensam - måste kopplas med .mdf primärfil och .ldf loggfil |
| Introducerad | SQL Server 7.0 (1998) - konventionen för sekundära datafiler formaliserades i denna version |
| Släppt | SQL Server 7.0 (1998) - NDF extension formalised; data page format consistent since SQL Server 7 |
| Senaste version | SQL Server 2022 (v16); page format essentially unchanged since SQL Server 7 |
| Specifikation | learn.microsoft.com |
NDF-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om NDF-filer.