sql >> Database >  >> RDS >> Sqlserver

Een bestandsgroep toevoegen aan een SQL Server-database (T-SQL)

Een SQL Server-database heeft minimaal twee besturingssysteembestanden; het gegevensbestand en het logbestand.

Het gegevensbestand bevat de feitelijke gegevens in de database, evenals objecten zoals tabellen, indexen, opgeslagen procedures en weergaven. Het logbestand bevat de informatie die nodig is om alle transacties in de database te herstellen.

Wanneer u een database maakt met de standaardopties, worden beide bestanden gemaakt. Deze bestanden worden aangemaakt in de primaire bestandsgroep. Deze bestandsgroep bevat het primaire gegevensbestand en eventuele secundaire bestanden die niet in andere bestandsgroepen zijn geplaatst. Dus de primaire bestandsgroep is de standaard bestandsgroep (tenzij deze is gewijzigd met behulp van de ALTER DATABASE verklaring).

Wanneer u meerdere gegevensbestanden maakt, heeft u ook de mogelijkheid om ze te groeperen in een door de gebruiker gedefinieerde bestandsgroep. Hiermee kunt u bestanden logisch groeperen in hun eigen bestandsgroep die u hebt gemaakt. Deze bestandsgroep zal dan bestaan ​​naast de primaire bestandsgroep. Database-objecten blijven binnen de primaire bestandsgroep.

Dit artikel laat zien hoe u een door de gebruiker gedefinieerde bestandsgroep kunt maken en er enkele gegevensbestanden aan kunt toevoegen.

Voorbeeld

Hier is een voorbeeld van het gebruik van T-SQL om een ​​bestandsgroep toe te voegen aan een bestaande 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

In dit voorbeeld wordt een bestandsgroep gemaakt met de naam Solutions1Filegroup1 en voegt er twee gegevensbestanden aan toe. We specificeren de gebruikelijke dingen voor elk bestand, zoals de logische naam, het fysieke bestandspad, de grootte, enz.

De veronderstelling bij dit voorbeeld is dat er al een gegevensbestand is met de naam Solutions_dat_1 . Daarom noemen we deze bestanden hetzelfde, maar verhogen we het nummer voor elk bestand.

Ook noemen we in dit voorbeeld de bestandsgroep alsof het slechts een van de vele is. We kunnen indien nodig meerdere bestandsgroepen maken, en als we dat doen, willen we waarschijnlijk een naamgevingsconventie die het gemakkelijk maakt om onderscheid te maken tussen elke bestandsgroep.

Bekijk de bestandsgroepen

U kunt de bestandsgroepen voor een bepaalde database bekijken door de sys.filegroups . op te vragen catalogusweergave.

Voorbeeld:

USE Solutions;
SELECT name, type_desc
FROM sys.filegroups;

Resultaat:

name                  type_desc     
--------------------  --------------
PRIMARY               ROWS_FILEGROUP
Solutions1Filegroup1  ROWS_FILEGROUP

U kunt indien nodig ook een asterisk (*) gebruiken om alle rijen terug te geven.


  1. Oracle selecteren voor updategedrag

  2. TOON ALLE data tussen twee data; als er geen rij bestaat voor een bepaalde datum, toon dan nul in alle kolommen

  3. Back-upbronnen voor MySQL en MariaDB Database

  4. Converteer minuten naar HH24:MI-formaat