I SQL Server är en filgrupp en logisk gruppering av en eller flera datafiler (`.mdf` -filer) och/eller loggfiler (` .lf` filer). De är vana vid:
* Förbättra prestanda: Genom att distribuera data över flera filgrupper på olika fysiska skivor kan du förbättra I/O -prestanda. Detta är särskilt viktigt för stora databaser med höga transaktionshastigheter. Parallellism är möjlig när du läser/skriver till olika filgrupper.
* Hantera lagring: Filegrupper möjliggör mer granulär kontroll över var data lagras. Du kan ägna specifika filgrupper till olika typer av data (t.ex. en för transaktionsdata, en annan för arkivdata) och placera dem på olika enheter baserat på hastighets- och lagringskapacitetsbehov.
* Databasunderhåll och återhämtning: Filegrupper kan förenkla databasunderhålls- och återställningsuppgifter. Till exempel kan du säkerhetskopiera enskilda filgrupper istället för hela databasen. Under återhämtningen behöver endast påverkade filgrupperna återställas.
* Datapartitionering: Filegrupper är viktiga för att dela upp stora tabeller över flera filer för bättre prestanda och hanterbarhet. Varje partition kan vara bosatt i en separat filgrupp.
* diskutrymme: Genom att tilldela utrymme till olika filgrupper på olika skivor kan du bättre hantera diskutrymme. Detta kan vara särskilt viktigt i klusterade miljöer eller när man hanterar lagringsbegränsningar på specifika enheter.
Nyckelskillnader från filer:
Medan filgrupperna innehåller filer är de logiskt distinkta. Filer är fysiska enheter, medan filgrupperna är logiska behållare. Du kan hantera filer * inom * FileGroups, men du manipulerar och hanterar filgrupper som en enhet.
Exempel:
Föreställ dig en databas utformad för e-handel. Du kan skapa:
* `primär" filgrupp: Detta är en obligatorisk filgrupp och har vanligtvis systemtabeller och avgörande databasmetadata.
* `Products` Filegroup: Lagrar data relaterade till produktinformation, som är bosatta på en snabb SSD.
* `beställningar` filegroup: Butiker beställer detaljer, kanske på en snabbare SSD än "kunder" -gruppen nedan.
* `kunder` Filegroup: Lagrar kunddata som är bosatta på en billigare hårddisk.
Denna installation gör att du kan optimera prestanda och lagringskostnader genom att placera ofta åtkomst till data om snabbare lagring och mindre ofta åtkomst till data om billigare lagring. Detta är en betydande fördel jämfört med att ha all data i standard "primär" filgrupp.