sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man lägger till en loggfil till en SQL Server-databas (T-SQL)

När du skapar en databas i SQL Server med standardalternativen skapas en datafil och en loggfil. Datafilen lagrar data och databasobjekt (såsom tabeller, vyer, lagrade procedurer, etc). Loggfilen lagrar informationen som krävs för att återställa alla transaktioner i databasen. Om du har en växande databas kan du hamna i situationen där du behöver lägga till en ny loggfil (och/eller datafil).

Precis som du kan lägga till fler datafiler till en befintlig databas i SQL Server, kan du också lägga till fler loggfiler. Syntaxen är dock något annorlunda beroende på om du skapar en datafil eller en loggfil. För att lägga till en datafil krävs ADD FILE medan du lägger till en loggfil kräver ADD LOG FILE .

Den här artikeln visar hur du använder T-SQL för att lägga till en loggfil till en befintlig databas i SQL Server.

Exempel

För att lägga till en loggfil till en befintlig databas, använd ALTER DATABASE sats med ADD LOG FILE argument. Ange information om den nya loggfilen och kör uttalandet.

Här är ett exempel:

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

Detta lägger till en loggfil med det logiska namnet Solutions_log_2 till Solutions databas. Vi anger att den fysiska sökvägen är /var/opt/mssql/data/Solutions_log2.ldf . Observera att den här sökvägen använder Linux/Mac-syntax. Om du använder Windows måste du använda tillämplig syntax (omvänt snedstreck istället för snedstreck).

Kontrollera resultatet

Du kan kontrollera resultatet genom att köra följande fråga:

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 nya loggfilen listad utöver den ursprungliga loggfilen (liksom olika datafiler).

I det här exemplet väljer jag bara två kolumner i sys.database_files visa att visa. Du kan också använda asterisken (* ) för att returnera alla kolumner om du föredrar det.


  1. Hur får man genererade nycklar från JDBC batchinlägg i Oracle?

  2. SQLAlchemy:filtrering på värden lagrade i kapslad lista i JSONB-fältet

  3. Oracle Instant Client för ARM-baserad Debian-enhet

  4. Hur man implementerar SQLCipher när man använder SQLiteOpenHelper