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
-
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.
-
Lanceer de Back-updatabase Dialoogvenster
Klik op de Back-up knop.
-
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.
-
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.