sql >> Database >  >> RDS >> Sqlserver

SQL Server 2016:back-up van een database

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 van SQL Server Management Studio.

Hier zal ik demonstreren hoe u een back-up maakt met behulp van de SQL Server Management System GUI, vervolgens met Transact-SQL en tenslotte met SQL Server Powershell.

Maak een back-up via de GUI

  1. Lanceer de Back-up database Dialoogvenster

    Klik in de Objectverkenner met de rechtermuisknop op de database waarvan u een back-up wilt maken en selecteer Taken> Back-up... vanuit het contextmenu.

  2. Bekijk de back-upinstellingen

    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 OK om de back-up te maken.

    U kunt de database hier wijzigen als u bij de vorige stap per ongeluk de verkeerde heeft geselecteerd.

  3. Back-up voltooid

    U ontvangt een bericht wanneer de back-up is voltooid.

    Klik op OK om het bericht en het dialoogvenster te sluiten.

    Het back-upbestand bevindt zich nu op de opgegeven locatie.

Back-up van een database met Transact-SQL

  • U kunt dezelfde back-up als hierboven uitvoeren met 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.

    Voorbeeldcode

    Hieronder ziet u een voorbeeld van een eenvoudig back-upscript dat de database specificeert waarvan een back-up moet worden gemaakt, en de locatie waarnaar de back-up moet worden gemaakt.

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

    BACKUP DATABASE Music  
    TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak';

    U kunt de volledige syntaxis zien voor de BACKUP verklaring op de Microsoft-website.

Back-up van een database met PowerShell

SQL Server 2016 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.

  1. Open PowerShell

    Klik met de rechtermuisknop op de database en selecteer Start Powershell .

  2. Voer de back-upopdracht uit

    Voer de opdracht in voor het maken van de back-up en druk op Enter (of Terug , afhankelijk van uw toetsenbord).

    De back-up wordt onmiddellijk uitgevoerd.

    Voorbeeldcode

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

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

    Backup-SqlDatabase -ServerInstance MyServer -Database Music

    U kunt ook een locatie opgeven

    Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak'

    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 je alle bovenstaande voorbeelden precies zo hebt uitgevoerd als ze zijn, is het je misschien opgevallen dat elke keer dat je het uitvoerde, de bestandsgrootte van het back-upbestand toenam.

Dit komt omdat elke volgende back-up zichzelf aan het bestaande bestand toevoegt.

Het doet dit omdat we dezelfde bestandsnaam gebruiken en we niet expliciet hebben gespecificeerd dat elke back-up een bestaand bestand moet overschrijven.

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

  • De 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.

Back-upbestanden opslaan

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. Base 36 naar Base 10 conversie met alleen SQL

  2. Aan de slag met het afstemmen van prestaties in Azure SQL Database

  3. SQLite-databaselek gevonden

  4. 10 problemen met Common Access 2019 oplossen