I SQL Server lagrar databaser sina data och objekt (som tabeller, vyer, lagrade procedurer, etc) i filer. När du skapar en databas med standardalternativen skapas en datafil och en loggfil. Du är dock inte begränsad till bara en av varje fil. Du kan lägga till datafiler (och loggfiler) till en databas vid ett senare tillfälle om det behövs.
Den här artikeln innehåller exempel på hur du använder T-SQL för att lägga till en datafil i en befintlig databas i SQL Server.
Exempel
Här är ett exempel på att lägga till en enskild datafil till en befintlig databas:
ANVÄND master; GOALTER DATABASE Solutions ADD FIL ( NAME =Solutions_dat_2, FILENAME ='/var/opt/mssql/data/Solutions_dat_2.ndf', SIZE =10MB, MAXSIZE =100MB, FILEGROWTH =5% );GO
Detta lägger till en datafil med det logiska namnet Solutions_dat_2 och med en fysisk sökväg /var/opt/mssql/data/Solutions_dat_2.ndf
(detta är den fysiska platsen på datorn).
Observera att detta exempel använder Linux/Mac-filsökvägar. Om du använder Windows måste du använda snedstreck (\
) istället för snedstreck (/
).
Här är en förklaring av de olika argument som används i detta exempel:
NAME
- Anger det logiska filnamnet. Detta är det logiska namnet som används i en instans av SQL Server när filen refereras.
FILENAME
- Detta är den fullständiga fysiska sökvägen till filen (dvs. operativsystemets sökväg till filen).
SIZE
- Anger filstorleken. Kan anges i KB, MB, GB eller TB.
MAXSIZE
- Den maximala filstorleken som filen kan växa till. Kan anges i KB, MB, GB, TB eller UNLIMITED.
FILEGROWTH
- Den automatiska tillväxtökningen av filen (mängden utrymme som läggs till filen varje gång nytt utrymme krävs). Kan anges i KB, MB, GB, TB eller %.
Standard är MB
(för megabyte).
Kontrollera resultatet
Vi kan kontrollera resultatet genom att köra följande fråga:
ANVÄND Lösningar; GOSELECT namn, fysiskt_namn FRÅN sys.database_files; GÅ
Resultat:
namn fysiskt_namn --------------- ------------------------------------ ----------Solutions /var/opt/mssql/data/Solutions.mdf Solutions_log /var/opt/mssql/data/Solutions_log.ldf Solutions_dat_2 /var/opt/mssql/data/Solutions_dat_2.ndfVi kan se den nya datafilen listad utöver den ursprungliga datafilen (och loggfilen).
Naturligtvis kan du också använda asterisken (
*
) för att returnera alla kolumner om du vill.Om du upptäcker att du en dag inte längre behöver den kan du alltid ta bort din nya datafil.