sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan tilføjes en filgruppe til en SQL Server-database (T-SQL)

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.


  1. Returner partitionsnummeret for hver række, når du forespørger en partitioneret tabel i SQL Server (T-SQL)

  2. Opdater forespørgsel ved hjælp af Subquery i SQL Server

  3. Sådan får du MySQL til at håndtere UTF-8 korrekt

  4. Sådan sammenlignes datoer i SQL Server