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.