Hva er en NDF-fil?
En fil med filtypen .ndf er en sekundær databasefil som brukes av Microsoft SQL Server for å lagre brukerdata. NDF er sekundær lagringsfil fordi SQL-serveren lagrer brukerspesifiserte data i primær lagringsfil kjent som MDF. NDF-datafilen er valgfri og er brukerdefinert for å administrere datalagring i tilfelle den primære MDF-filen bruker all tildelt plass. Det er vanligvis lagret på separat disk og kan spres til flere lagringsenheter. Tilstedeværelsen av MDF-filer er nødvendig for å åpne NDF-filer.
NDF-filformat
NDF-filformatet er ikke annerledes enn MDF og bruker sider som den grunnleggende enheten for datalagring. hver side starter med 96 bytes overskrift som inkluderer:
- Side ID
- Type struktur
- Antall poster på sidene
- Pekere til forrige og neste side
NDF-filstruktur
En MDF-fil har følgende datastruktur.
- Page 0: Header
- Page 1: First PFS
- Page 2: First GAM
- Page 3: First SGAM
- Page 4: Unused
- Page 5: Unused
- Page 6: First DCM
- Page 7: First BCM
NDF-filoverskrift
Sidenummer 0 av alle filene inneholder en header som lagrer metadata om filen.
Page Free Space (PFS)
PFS identifies the allocation status and determines the amount of free space.
- Bit 1: Indicates whether the page is allocated or not.
- Bit 2: Indicates if the page is from a mixed extent.
- Bit 3: Indicates that this page is an IAM page.
- Bit 4: Indicates that this page contains ghost records
- Bits 5 to 7: A combined three-bit value, which indicate the page fullness as follows:
- 0: The page is empty
- 1: The page is 1–50% full
- 2: The page is 51–80% full
- 3: The page is 81–95% full
- 4: The page is 96–100% full
Data File Page
Sider i en SQL Server-datafil starter fra null (0) og øker sekvensielt. Hver fil gjenkjennes av et unikt fil-ID-nummer. Fil-ID-en og sidenummerparet identifiserer en side i en database unikt. Et eksempel som viser sidetall i en database, er som i følgende bilde.
Dette eksemplet viser sidetall i en database som har en 4 MB primær datafil og 1 MB sekundær datafil.