Herstellen van SQL database via PowerShell

Herstellen van SQL database via PowerShell

Het herstellen van een SQL database kan heel gemakkelijk via PowerShell. Hiervoor bestaat het commando Restore-SqlDatabase.

Met onderstaande commando herstel ik dus alle backups in de backup folder bevinden.

$bakFiles = Get-ChildItem -Path $sqlRestorePath -filter *.bak
foreach($bakFile in $bakfiles) {
    Restore-SqlDatabase -ServerInstance "localhost" -Database $bakFile.BaseName -BackupFile $bakFile.Name -ReplaceDatabase -AutoRelocateFile
}

Voor de duidelijkheid. Het bestand PS Variables.ps1 bevat de volgende regel:

$sqlRestorePath = "C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup"

We roepen het bestand met variabelen aan via:

# Begin Dot-source the PS Variables.ps1 file
. "$PSScriptRoot\PS Variables.ps1"
# End Dot-source the PS Variables.ps1 file

Als je slechts een database wilt herstellen, dan kan dat dus via:

Restore-SqlDatabase -ServerInstance "localhost" -Database "Demo Database BC (26-0)" -BackupFile `
"$appPathBC260\$dvdNameBC260\SQLDemoDatabase\CommonAppData\Microsoft\Microsoft Dynamics NAV\260\Database\Demo Database BC (26-0).bak" `
-ReplaceDatabase -AutoRelocateFile

De Restore-SqlDatabase cmdlet in PowerShell wordt dus gebruikt om een SQL Server database te herstellen vanaf een back-upbestand of transactielogboek

Deze cmdlet biedt verschillende opties, zoals bijvoorbeeld het herstellen van volledige databases, transactielogboeken, en databasebestanden.

Hier zijn enkele belangrijke parameters die je onder andere kunt gebruiken:

AutoRelocateFile: Zorgt ervoor dat je de data- en logbestanden automatisch verplaatst naar de bijvoorbeeld de standaardlocatie van de SQL Server instantie.

ServerInstance: Specificeert de naam van de SQL Server instantie.

Database: De naam van de database die je wilt herstellen.

BackupFile: Het pad naar het back-upbestand.

Om de Restore-SqlDatabase cmdlet te gebruiken, zijn er enkele vereisten en voorwaarden waaraan moet worden voldaan:

  1. SQL Server Module: De cmdlet maakt deel uit van de SqlServer module, die geïnstalleerd moet zijn op je systeem. Je kunt deze module installeren met bijvoorbeeld de volgende PowerShell opdracht:
    • Install-Module -Name SqlServer
  2. SQL Server Instance: Je moet dus toegang hebben tot een SQL Server instantie waar je de database wilt herstellen. Dit omvat de juiste machtigingen om herstelbewerkingen uit te voeren.
  3. Back-up Bestand: Een geldig back-upbestand (.bak) van de database die je wilt herstellen.
  4. PowerShell Versie: Zorg ervoor dat je een compatibele versie van PowerShell gebruikt die de SqlServer module ondersteunt.

Tot slot. Een soorgelijke commando is Backup-SqlDatabase. Het PowerShell commando Backup-SqlDatabase zal ik bespreken in een andere op de Digitale Mels website.

Meer informatie over Microsoft Business Central vind je hier. Meer informatie over de auteur van deze blog post vind je hier.

0 Shares:
Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

You May Also Like