sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man anger platsen för datafiler och loggfiler när man skapar en databas i SQL Server

Det enklaste sättet att skapa en databas i SQL Server är att använda CREATE DATABASE my_database utan att ange något annat. När du gör detta skapas datafiler och loggfiler på standardplatsen (se hur du hittar standardplatsen).

Men ibland kanske du vill att datafilerna och loggfilerna ska finnas på en annan plats. Om så är fallet, använd följande kodexempel för att uttryckligen ange din egen plats för databasens datafiler och loggfiler.

USE master;
GO
CREATE DATABASE Solutions
ON
( NAME = Solutions_dat,  
    FILENAME = 'D:\mssql\data\Solutionsdat.mdf',
    SIZE = 10MB,
    MAXSIZE = 50MB,
    FILEGROWTH = 5MB )  
LOG ON
( NAME = Solutions_log,  
    FILENAME = 'D:\mssql\data\Solutionslog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB );
GO

Det exemplet använder Windows-sökvägskonventioner (börjar med en enhetsbeteckning och använder ett omvänt snedstreck).

Nedan är ett exempel för Linux- och Mac-system:

USE master;
GO
CREATE DATABASE Solutions
ON
( NAME = Solutions_dat,  
    FILENAME = '/var/opt/mssql/data/Solutionsdat.mdf',
    SIZE = 10MB,
    MAXSIZE = 50MB,
    FILEGROWTH = 5MB )  
LOG ON
( NAME = Solutions_log,  
    FILENAME = '/var/opt/mssql/data/Solutionslog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB );
GO

.mdf filen är datafilen och .ldf fil är transaktionsloggfilen. Vi anger storleken på varje fil, samt dess maximala storlek och filtillväxt. FILEGROWTH anger den automatiska tillväxtökningen för filen (mängden utrymme som läggs till filen varje gång nytt utrymme krävs).

  • FILESIZE kan anges i KB, MB, GB eller TB.
  • MAXSIZE kan anges i KB, MB, GB, TB eller UNLIMITED.
  • FILEGROWTH kan anges i KB, MB, GB, TB eller %.

Standard är KB (för kilobyte).


  1. Hur kan jag göra något som:ANVÄND @databaseName

  2. Android-rumsdatabasen exporterar inte all data

  3. Försök att öppna ett redan stängt objekt sqlitedatabase

  4. Hur man visar radvärden som kolumner i MySQL