sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan tilføjes en logfil til en SQL Server-database (T-SQL)

Når du opretter en database i SQL Server ved hjælp af standardindstillingerne, oprettes en datafil og en logfil. Datafilen gemmer data og databaseobjekter (såsom tabeller, visninger, lagrede procedurer osv.). Logfilen gemmer de oplysninger, der er nødvendige for at gendanne alle transaktioner i databasen. Hvis du har en database i vækst, kan du komme i den situation, hvor du skal tilføje en ny logfil (og/eller datafil).

Ligesom du kan tilføje flere datafiler til en eksisterende database i SQL Server, kan du også tilføje flere logfiler. Syntaksen er dog lidt anderledes, afhængigt af om du opretter en datafil eller en logfil. Tilføjelse af en datafil kræver ADD FILE mens tilføjelse af en logfil kræver ADD LOG FILE .

Denne artikel viser, hvordan du bruger T-SQL til at føje en logfil til en eksisterende database i SQL Server.

Eksempel

For at tilføje en logfil til en eksisterende database, brug ALTER DATABASE sætning med ADD LOG FILE argument. Angiv detaljerne for den nye logfil, og kør erklæringen.

Her er et eksempel:

USE master;  
GO

ALTER DATABASE Solutions   
ADD LOG FILE 
(  
    NAME = Solutions_log_2,  
    FILENAME = '/var/opt/mssql/data/Solutions_log2.ldf',  
    SIZE = 10MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5%  
);
GO

Dette tilføjer en logfil med det logiske navn Solutions_log_2 til Solutions database. Vi angiver, at den fysiske sti er /var/opt/mssql/data/Solutions_log2.ldf . Bemærk, at denne sti bruger Linux/Mac-syntaks. Hvis du bruger Windows, skal du bruge den gældende syntaks (omvendte skråstreger i stedet for skråstregerne).

Tjek resultatet

Du kan kontrollere resultatet ved at køre følgende forespørgsel:

USE Solutions;  
GO

SELECT name, physical_name  
FROM sys.database_files;  
GO

Resultat:

name             physical_name                         
---------------  --------------------------------------
Solutions        /var/opt/mssql/data/Solutions.mdf     
Solutions_log    /var/opt/mssql/data/Solutions_log.ldf 
Solutions_dat_2  /var/opt/mssql/data/Solutions_dat2.ndf
Solutions_dat_3  /var/opt/mssql/data/Solutions_dat3.ndf
Solutions_log_2  /var/opt/mssql/data/Solutions_log2.ldf

Vi kan se den nye logfil listet ud over den originale logfil (samt forskellige datafiler).

I dette eksempel vælger jeg kun to kolonner af sys.database_files se at vise. Du kan også bruge stjernen (* ) for at returnere alle kolonner, hvis du foretrækker det.


  1. Brug af SQL Server Profiler | SQL Server Performance Fejlfinding -5

  2. MySQL-deltagelsesforespørgsel ved hjælp af like?

  3. Oracle vælg seneste datopost

  4. Sådan fortsætter du med STORE BLOB'er (>100MB) i Oracle ved hjælp af Hibernate