Back-ups maken van SQL Server-databases en deze herstellen in Linux

Van toepassing op:SQL Server op Linux

Je kunt SQL Server-databases op Linux op veel manieren back-uppen. Op een Linux-server kun je verbinding sqlcmd maken met de SQL Server en databases back-uppen. Vanaf Windows kun je verbinding maken met SQL Server on Linux en databases back-uppen met de gebruikersinterface. De back-upfunctionaliteit is hetzelfde op verschillende platforms. Je kunt bijvoorbeeld databases lokaal back-uppen, naar externe schijven, of naar SQL Server back-up naar een URL voor Azure Blob Storage.

Important

SQL Server on Linux ondersteunt alleen back-ups naar Azure Blob Storage met block blobs. Het gebruik van een opslagsleutel voor back-up en herstel gebruikt een page blob, die niet wordt ondersteund. Gebruik in plaats daarvan een shared access-handtekening (SAS). Voor informatie over blokblobs versus paginablobs, zie Back-up maken naar blokblob versus paginablob.

Een back-up maken van een database

In het volgende voorbeeld sqlcmd maakt u verbinding met het lokale SQL Server exemplaar en maakt u een volledige back-up van een gebruikersdatabase met de naam 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"

Wanneer u de opdracht uitvoert, vraagt SQL Server om een wachtwoord. Nadat je het wachtwoord hebt ingevoerd, geeft de shell de resultaten van de back-upvoortgang terug. Voorbeeld:

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).

Een back-up maken van het transactielogboek

Als je database in het volledige herstelmodel zit, kun je ook een back-up maken van het transactielogboek voor meer gedetailleerde herstelopties. In het volgende voorbeeld maakt sqlcmd verbinding met de lokale SQL Server-instantie en maakt het een back-up van het transactielogboek.

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"

Een database herstellen

In het volgende voorbeeld sqlcmd maakt u verbinding met het lokale exemplaar van SQL Server en herstelt u de demodb-database. De NORECOVERY optie maakt extra herstelmogelijkheden van back-ups van logbestanden mogelijk. Als u niet van plan bent om extra logboekbestanden te herstellen, verwijdert u de optie 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

Als je per ongeluk back-ups van logbestanden gebruikt NORECOVERY maar geen extra logbestanden hebt, voer dan het commando RESTORE DATABASE demodb uit zonder extra parameters. Dit commando voltooit het herstel en laat je database operationeel achter.

Het transactielogboek herstellen

Met de volgende opdracht wordt de vorige back-up van het transactielogboek hersteld.

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

Back-up maken en herstellen met SQL Server Management Studio (SSMS)

Je kunt SQL Server Management Studio (SSMS) vanaf een Windows-computer gebruiken om verbinding te maken met een Linux-database en een back-up te maken via de gebruikersinterface.

Note

Installeer de nieuwste versie van SQL Server Management Studio (SSMS). Zie SQL Server Management Studio in Windows gebruiken om SQL Server op Linux te beheren voor meer informatie over het gebruik van SSMS.

In de volgende stappen wordt stapsgewijs uitgelegd hoe u een back-up maakt met SSMS.

  1. Start SSMS en maak verbinding met uw SQL Server op linux-exemplaar.

  2. Klik in Objectverkenner met de rechtermuisknop op je database, selecteer Taken en selecteer dan Back Up....

  3. Controleer in het Backup Database-venster de parameters en opties en selecteer OK.

SQL Server voltooit de back-up van de database.

Terugzetten met SQL Server Management Studio (SSMS)

De volgende stappen helpen u bij het herstellen van een database met SSMS.

  1. Klik in SSMS met de rechtermuisknop op Databases en selecteer Databases herstellen....

  2. Selecteer onder SourceDevice: en selecteer vervolgens het beletselteken (...).

  3. Zoek het back-upbestand van de database en selecteer OK.

  4. Controleer onder Herstelplan het back-upbestand en de instellingen. Selecteren OK.

  5. SQL Server herstelt de database.

Bijdragen aan SQL-documentatie

Wist u dat u zelf SQL-inhoud kunt bewerken? Door dit te doen helpt u niet alleen onze documentatie te verbeteren, maar krijgt u ook erkenning als bijdrager aan de pagina.

Zie Microsoft Learn-documentatie bewerken voor meer informatie.