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

Gäller för:SQL Server i 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 till SQL Server-säkerhetskopiering till URL för Azure Blob Storage.

Important

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 blockblobbar jämfört med sidsblobbar finns i Säkerhetskopiering till blockblobbar jämfört med sidsblobbar.

Göra en säkerhetskopia av en databas

I följande exempel sqlcmd ansluter du 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. Ett 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 sqlcmd ansluter du 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äll en databas

I följande exempel sqlcmd ansluter du 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"

Tip

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 SQL Server Management Studio (SSMS) från en Windows-dator för att ansluta till en Linux-databas och göra en säkerhetskopia via användargränssnittet.

Note

Installera den senaste versionen av 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 Redigera Microsoft Learn-dokumentation.