sql >> Database >  >> RDS >> Sqlserver

Back-up van een database in SQL Server 2017

SQL Server biedt een gemakkelijke manier om een ​​back-up van een database te maken. Back-ups kunnen worden gemaakt met Transact-SQL, PowerShell of via de GUI.

Hier zal ik demonstreren hoe u een back-up maakt met behulp van de SQL Operations Studio (nu Azure Data Studio genaamd) GUI, vervolgens met Transact-SQL en tenslotte met SQL Server Powershell.

Maak een back-up via de SQLOPS/Azure Data Studio GUI

  1. Open het databasedashboard

    Klik in het linkerdeelvenster met de rechtermuisknop op de database waarvan u een back-up wilt maken en selecteer Beheren .

    Als u SSMS gebruikt, klikt u in de Objectverkenner met de rechtermuisknop op de database waarvan u een back-up wilt maken en selecteert u Taken> Back-up... vanuit het contextmenu. Hierdoor wordt de Back-updatabase . gestart dialoogvenster.

  2. Lanceer de Back-updatabase Dialoogvenster

    Klik op de Back-up knop.

  3. Bekijk de instellingen

    Dit dialoogvenster geeft u de mogelijkheid om de instellingen indien nodig te wijzigen.

    Laat het voor ons voorbeeld op de standaardinstellingen staan ​​en klik op Backup om de back-up te maken.

    Als u specifieke back-upvereisten heeft, kunt u het back-uptype wijzigen en/of op Geavanceerde configuratie klikken om de geavanceerde configuratie-instellingen aan te passen.

  4. Back-up voltooid

    Zodra de back-up is voltooid, wordt een bericht weergegeven waarin wordt bevestigd dat de back-up is gelukt.

Back-up van een database met Transact-SQL

U kunt dezelfde back-up als hierboven uitvoeren met T-SQL.

Om dit te doen, opent u een nieuw queryvenster en voert u een BACKUP . uit verklaring.

De BACKUP statement accepteert verschillende opties (net als de GUI-optie), maar je kunt ook een eenvoudige back-up maken met een minimum aan code.

Hieronder ziet u een voorbeeld van een eenvoudig back-upscript op een Linux- of Mac-systeem. Het script specificeert de database waarvan een back-up moet worden gemaakt, en de locatie waarnaar de back-up moet worden gemaakt.

BACKUP DATABASE Music  
TO DISK = '/var/opt/mssql/data/Music.bak';

Op een Windows-systeem gebruikt het pad backslashes:

BACKUP DATABASE Music  
TO DISK = 'C:\Backups\Music.bak';

Nadat deze code is uitgevoerd, bevindt het back-upbestand zich op de opgegeven locatie.

Back-up van een database met PowerShell

SQL Server 2017 ondersteunt Windows PowerShell, een scriptshell die doorgaans wordt gebruikt om beheer- en implementatietaken te automatiseren.

De PowerShell-taal ondersteunt complexere logica dan Transact-SQL-scripts, waardoor u geavanceerdere scripts kunt bouwen voor uw back-ups en andere taken.

De volgende code maakt een back-up, net als de vorige voorbeelden. Vervang gewoon MyServer met de naam van uw server.

Backup-SqlDatabase -ServerInstance MyServer -Database Music

U kunt ook een locatie opgeven

Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Backups\Music.bak'

Nadat deze code is uitgevoerd, bevindt het back-upbestand zich op de standaardlocatie.

U kunt ook -BackupAction Database . specificeren om expliciet te vermelden dat het een volledige back-up is. Dit is echter de standaardoptie.

U kunt de volledige documentatie voor de Backup-SqlDatabase . bekijken commando op de Microsoft-website.

Back-upbestanden overschrijven

Als u meerdere back-ups maakt met dezelfde bestandsnaam voor het back-upbestand, merkt u mogelijk dat elke keer dat u een back-up uitvoert, de bestandsgrootte van het back-upbestand toeneemt.

Dit komt omdat elke volgende back-up zichzelf toevoegt aan het bestaande bestand. Het doet dit omdat je dezelfde bestandsnaam gebruikt en je niet expliciet hebt gespecificeerd dat elke back-up een bestaand bestand moet overschrijven.

Er is een optie waarmee u het bestaande bestand kunt overschrijven.

  • De SQLOPS GUI gebruiken , klik op Geavanceerde configuratie en onder Back-up naar de bestaande mediaset , selecteer Overschrijf alle bestaande back-upsets .
  • De SSMS GUI gebruiken , klik op Media-opties in het linkermenu van de Back-up database dialoogvenster en selecteer Alle bestaande back-upsets overschrijven in de Media overschrijven sectie.
  • SQL gebruiken voeg WITH INIT toe naar de SQL-instructie.
  • Gebruik Powershell , voeg -Initialize toe naar het commando.

Unieke bestandsnamen gebruiken

Het is echter vaak een goed idee om een ​​volledige back-up te maken met een unieke bestandsnaam (meestal inclusief de datum in de bestandsnaam). Het hebben van een unieke bestandsnaam betekent dat elke back-up een apart bestand zal zijn.

Afhankelijk van de grootte van uw database en hoeveel nieuwe gegevens erin worden ingevoerd, wilt u misschien uw volledige back-ups aanvullen met differentiële back-ups. Een differentiële back-up legt alleen de gegevens vast die zijn gewijzigd sinds de meest recente volledige back-up.


  1. Hoe stel ik programmatisch de verbindingsreeks in voor Entity-Framework Code-First?

  2. org.postgresql.util.PSQLException:FATAL:sorry, er zijn al te veel klanten

  3. Gegevens groeperen met de functies OVER en PARTITION BY

  4. 4 manieren om dubbele rijen te selecteren in MariaDB