Som minimum har en SQL Server-database to operativsystemfiler; datafilen og logfilen.
Datafilen indeholder de faktiske data i databasen, såvel som objekter såsom tabeller, indekser, lagrede procedurer og visninger. Logfilen indeholder de oplysninger, der er nødvendige for at gendanne alle transaktioner i databasen.
Når du opretter en database ved hjælp af standardindstillingerne, oprettes begge disse filer. Disse filer oprettes i den primære filgruppe. Denne filgruppe indeholder den primære datafil og eventuelle sekundære filer, der ikke er lagt i andre filgrupper. Så den primære filgruppe er standardfilgruppen (medmindre den ændres ved at bruge ALTER DATABASE
erklæring).
Når du opretter flere datafiler, har du også mulighed for at gruppere dem i en brugerdefineret filgruppe. Dette giver dig mulighed for at gruppere filer logisk i deres egen filgruppe, som du har oprettet. Denne filgruppe vil så eksistere ud over den primære filgruppe. Databaseobjekter vil forblive i den primære filgruppe.
Denne artikel viser, hvordan man opretter en brugerdefineret filgruppe og tilføjer nogle datafiler til den.
Eksempel
Her er et eksempel på brug af T-SQL til at tilføje en filgruppe til en eksisterende database:
USE master GO ALTER DATABASE Solutions ADD FILEGROUP Solutions1Filegroup1; GO ALTER DATABASE Solutions ADD FILE ( NAME = Solutions_dat_2, FILENAME = 'D:\mssql\data\Solutions_dat2.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ), ( NAME = Solutions_dat_3, FILENAME = 'D:\mssql\data\Solutions_dat3.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ) TO FILEGROUP Solutions1Filegroup1; GO
Dette eksempel opretter en filgruppe kaldet Solutions1Filegroup1
og tilføjer to datafiler til det. Vi specificerer de sædvanlige ting for hver fil, såsom dens logiske navn, fysiske filsti, størrelse osv.
Antagelsen med dette eksempel er, at der allerede er en datafil kaldet Solutions_dat_1
. Derfor navngiver vi disse filer det samme, men øger blot antallet for hver fil.
Også i dette eksempel navngiver vi filgruppen, som om den kun er en af mange. Vi kan oprette flere filgrupper, hvis det kræves, og hvis vi gør det, vil vi sandsynligvis have en navnekonvention, der gør det nemt at skelne mellem hver filgruppe.
Se filgrupperne
Du kan se filgrupperne for en given database ved at forespørge sys.filegroups
katalogvisning.
Eksempel:
USE Solutions; SELECT name, type_desc FROM sys.filegroups;
Resultat:
name type_desc -------------------- -------------- PRIMARY ROWS_FILEGROUP Solutions1Filegroup1 ROWS_FILEGROUP
Du kan også bruge en stjerne (*) til at returnere alle rækker, hvis det kræves.