Dela via


Säkerhetskopiera och återställa SQL Server-databaser i Linux

gäller för:SQL Server – Linux

Du kan göra säkerhetskopior av databaser från SQL Server i Linux med många olika alternativ. På en Linux-server kan du använda sqlcmd för att ansluta till SQL Server och göra säkerhetskopior. Från Windows kan du ansluta till SQL Server i Linux och göra säkerhetskopior med användargränssnittet. Säkerhetskopieringsfunktionen är densamma på olika plattformar. Du kan till exempel säkerhetskopiera databaser lokalt, till fjärrenheter eller för att SQL Server-säkerhetskopiering till URL för Microsoft Azure Blob Storage.

Viktig

SQL Server i Linux stöder endast säkerhetskopiering till Azure Blob Storage med hjälp av blockblobar. Om du använder en lagringsnyckel för säkerhetskopiering och återställning används en sidblogg som inte stöds. Använd en signatur för delad åtkomst i stället. Information om blockbloggar jämfört med sidbloggar finns i Backup to block blob vs. page blob.

Säkerhetskopiera databas

I följande exempel ansluter sqlcmd till den lokala SQL Server-instansen och tar en fullständig säkerhetskopia av en användardatabas med namnet demodb.

sqlcmd -S localhost -U sa -Q "BACKUP DATABASE [demodb] TO DISK = N'/var/opt/mssql/data/demodb.bak' WITH NOFORMAT, NOINIT, NAME = 'demodb-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

När du kör kommandot frågar SQL Server efter ett lösenord. När du har angett lösenordet returnerar gränssnittet resultatet av säkerhetskopieringens förlopp. Till exempel:

Password:
10 percent processed.
21 percent processed.
32 percent processed.
40 percent processed.
51 percent processed.
61 percent processed.
72 percent processed.
80 percent processed.
91 percent processed.
Processed 296 pages for database 'demodb', file 'demodb' on file 1.
100 percent processed.
Processed 2 pages for database 'demodb', file 'demodb_log' on file 1.
BACKUP DATABASE successfully processed 298 pages in 0.064 seconds (36.376 MB/sec).

Säkerhetskopiera transaktionsloggen

Om databasen finns i den fullständiga återställningsmodellen kan du även göra säkerhetskopieringar av transaktionsloggar för mer detaljerade återställningsalternativ. I följande exempel ansluter sqlcmd till den lokala SQL Server-instansen och gör en säkerhetskopia av transaktionsloggen.

sqlcmd -S localhost -U sa -Q "BACKUP LOG [demodb] TO DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak' WITH NOFORMAT, NOINIT, NAME = N'demodb_LogBackup', NOSKIP, NOREWIND, NOUNLOAD, STATS = 5"

Återställa en databas

I följande exempel ansluter sqlcmd till den lokala instansen av SQL Server och återställer demodb-databasen. Alternativet NORECOVERY används för att tillåta ytterligare återställningar av säkerhetskopior av loggfiler. Om du inte planerar att återställa extra loggfiler tar du bort alternativet NORECOVERY.

sqlcmd -S localhost -U sa -Q "RESTORE DATABASE [demodb] FROM DISK = N'/var/opt/mssql/data/demodb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, NORECOVERY, STATS = 5"

Tips

Om du av misstag använder NORECOVERY men inte har ytterligare säkerhetskopior av loggfiler kör du kommandot RESTORE DATABASE demodb utan ytterligare parametrar. Detta slutför återställningen och lämnar databasen i drift.

Återställa transaktionsloggen

Följande kommando återställer den tidigare säkerhetskopieringen av transaktionsloggen.

sqlcmd -S localhost -U sa -Q "RESTORE LOG demodb FROM DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak'"

Säkerhetskopiera och återställa med SQL Server Management Studio (SSMS)

Du kan använda SSMS- från en Windows-dator för att ansluta till en Linux-databas och göra en säkerhetskopia via användargränssnittet.

Not

Använd den senaste versionen av SSMS för att ansluta till SQL Server. Information om hur du laddar ned och installerar den senaste versionen finns i Ladda ned SQL Server Management Studio (SSMS). Mer information om hur du använder SSMS finns i Använda SQL Server Management Studio i Windows för att hantera SQL Server på Linux.

Följande steg går igenom hur du gör en säkerhetskopia med SSMS.

  1. Starta SSMS och anslut till din SQL Server på Linux-instansen.

  2. I Object Explorerhögerklickar du på databasen, väljer Uppgifteroch väljer sedan Säkerhetskopiera....

  3. I dialogrutan Backup Up Database kontrollerar du parametrarna och alternativen och väljer OK.

SQL Server slutför säkerhetskopieringen av databasen.

Återställa med SQL Server Management Studio (SSMS)

Följande steg beskriver hur du återställer en databas med SSMS.

  1. I SSMS högerklickar du på Databaser och väljer Återställ databaser....

  2. Under Källaväljer du Enhet: och väljer sedan ellipserna (...).

  3. Leta upp din databassäkerhetskopieringsfil och välj OK.

  4. Under Återställningsplankontrollerar du säkerhetskopieringsfilen och inställningarna. Välj OK.

  5. SQL Server återställer databasen.

Bidra till SQL-dokumentation

Visste du att du kan redigera SQL-innehåll själv? Om du gör det hjälper du inte bara till att förbättra vår dokumentation, utan du får även kredit som deltagare på sidan.

Mer information finns i Så här bidrar du till SQL Server-dokumentationen