In SQL Server slaan databases hun gegevens en objecten (zoals tabellen, weergaven, opgeslagen procedures, enz.) op in bestanden. Wanneer u een database maakt met de standaardopties, worden één gegevensbestand en één logbestand gemaakt. U bent echter niet beperkt tot slechts één van elk bestand. Indien nodig kunt u op een later tijdstip gegevensbestanden (en logbestanden) aan een database toevoegen.
Dit artikel bevat voorbeelden van het gebruik van T-SQL om een gegevensbestand toe te voegen aan een bestaande database in SQL Server.
Voorbeeld
Hier is een voorbeeld van het toevoegen van een enkel gegevensbestand aan een bestaande database:
GEBRUIK meester; GOALTER DATABASE Oplossingen BESTAND TOEVOEGEN (NAAM =Solutions_dat_2, FILENAME ='/var/opt/mssql/data/Solutions_dat_2.ndf', SIZE =10MB, MAXSIZE =100MB, FILEGROWTH =5%);GO
Dit voegt een gegevensbestand toe met de logische naam Solutions_dat_2 en met een fysiek pad van /var/opt/mssql/data/Solutions_dat_2.ndf
(dit is de fysieke locatie op de computer).
Merk op dat dit voorbeeld Linux/Mac-bestandspaden gebruikt. Als u Windows gebruikt, moet u backslashes gebruiken (\
) in plaats van schuine strepen (/
).
Hier is een uitleg van de verschillende argumenten die in dit voorbeeld worden gebruikt:
NAME
- Specificeert de logische bestandsnaam. Dit is de logische naam die wordt gebruikt in een exemplaar van SQL Server bij het verwijzen naar het bestand.
FILENAME
- Dit is het volledige fysieke pad naar het bestand (d.w.z. het pad van het besturingssysteem naar het bestand).
SIZE
- Specificeert de bestandsgrootte. Kan worden opgegeven in KB, MB, GB of TB.
MAXSIZE
- De maximale bestandsgrootte waartoe het bestand kan groeien. Kan worden opgegeven in KB, MB, GB, TB of ONBEPERKT.
FILEGROWTH
- De automatische groeistap van het bestand (de hoeveelheid ruimte die aan het bestand wordt toegevoegd telkens wanneer nieuwe ruimte nodig is). Kan worden opgegeven in KB, MB, GB, TB of %.
De standaardwaarde is MB
(voor megabytes).
Controleer het resultaat
We kunnen het resultaat controleren door de volgende query uit te voeren:
GEBRUIK Oplossingen; GOSELECT naam, fysieke_naam FROM sys.database_files; GO
Resultaat:
We kunnen het nieuwe gegevensbestand naast het originele gegevensbestand (en logbestand) zien.
U kunt natuurlijk ook de asterisk (*
) om desgewenst alle kolommen terug te geven.
Als je merkt dat je het op een dag niet meer nodig hebt, kun je altijd je nieuwe gegevensbestand verwijderen.