Back-up de DPM database met DpmBackup.exe

Bij het installeren van System Center 2012 (R2) DPM moet de database op een SQL Server worden geïnstalleerd. Dit kan een lokale of remote SQL Instance zijn, maar de meegeleverde SQL Server kan ook gebruikt worden. De laatstgenoemde betreft dan een SQL Server Express Edition en deze versie ontbeert een aantal functies. Eén daarvan is de SQL Server Agent, waardoor het maken van maintenance plannen niet mogelijk is. Een back-up maken van de DPM database naar een andere server, zonder een secondary DPM server in te richten, moet daarom met dpmbackup.exe.

DPMBackup.exe

Deze tool is standaard aanwezig na een DPM installatie, maar kan ook los worden gedownload. Dit laatste is ook vereist als SCDPM 2012 UR3 geïnstalleerd is, want daarbij werkt de ingebouwde versie van DpmBackup.exe niet. De standaard locatie voor de software is “C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\bin\”.

Syntax

De mogelijkheden zijn gemakkelijk uit de tool zelf te halen:

C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\bin>DpmBackup.exe -?
 DpmBackup 1.0 - Data Protection Manager backup command-line tool
 Copyright (c) 2013 Microsoft Corporation. All rights reserved.

Description:
 DpmBackup backs up the DPM database, and creates shadow copies that can be used for backing up replicas.
 To back up the DPM database, run DpmBackup.exe -db locally on the computer running DPM.
 Usage:
 DpmBackup.exe [-db [-sqlServerName ] [-instanceName ] [-dpmdbName ] [-targetLocation ]] [-replicas] [-certificates]

 [-db] Backs up the databases to the default backup location on the DPM server, %DPMInstallLocation%\Volumes\ShadowCopy\Database Backups\.
 [-sqlServerName] Specifies the SQL Machine name if DPMDB is on remote machine or SQL Cluster name in case DPMDB is on a SQL Cluster instance.
 [-instanceName] Specifies the instance of SQL Server that hosts DPM database. This parameter can be used only with -db.
 If you are backing up from a remote instance of SQL Server:
 - From a named SQL instance, provide the instance name with -instanceName.
 - From a default SQL instance, provide "(Local)" with -instanceName.
 If SQL Server is not on the same computer as DPM, the default backup location for DPM database will be %SystemDrive%\DPMBackup.
 [-dpmdbname] Specifies the DPM database name
 [-targetLocation] Overrides the default backup location and points to a folder on network share or SQL Server.
 If -db is specified, the folder path should be an absolute path.
 [-replicas] Creates and mounts shadow copies of the DPM replica volumes to %DPMInstallLocation%\Volumes\ShadowCopy.
 [-certificates] Creates a file of the public certificates at %DPMInstallLocation%\DPMBackup\Certificates.

De makkelijkste manier om een back-up van de database te maken, indien de ingebouwde SQL Express is gebruikt, is als volgt:

DpmBackup.exe -db -instanceName <SQL INSTANCE NAME> -dpmdbname <DPM DB NAME>

Bij een standaard installatie van DPM 2012 R2 is dat bijvoorbeeld:

DpmBackup.exe -db -instanceName (local) -dpmdbname DPMDB

dpmbackup.exe voorbeeld

Netwerklocatie

Ook al lijkt DpmBackup.exe de optie te bevatten dat een remote locatie (bijvoorbeeld een UNC pad) gebruikt kan worden, in de praktijk blijkt dit niet goed te werken. Wellicht doordat het account waarmee de commando’s vanuit DpmBackup.exe worden uitgevoerd niet bij die remote locatie kan. Ons advies is dus om bovenstaande commando’s te gebruiken en vervolgens de gecreëerde back-up naar een andere locatie te kopiëren met bijvoorbeeld xcopy.exe. Door beide commando’s in een command-script te combineren kan deze gemakkelijk via een Scheduled Task worden gestart.

del /Q "C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\Volumes\ShadowCopy\Database Backups\*.bak"
"C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\bin\DpmBackup.exe" -db -instanceName MSDPM2012 -dpmdbname DPMDB
xcopy "C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\Volumes\ShadowCopy\Database Backups\*.bak" \\<Location>\Share$  /I /F /Y 
exit %ERRORLEVEL%

Deze taak kan ook onder het account SYSTEM draaien, maar dan moet het computer account wel rechten hebben op de netwerklocatie. Dit kan door bijvoorbeeld “Authenticated Users” of het computer-account Modify rechten te geven op die locatie.

Als bovenstaande script wordt gedraaid als een Scheduled Task zal de laatste exit code van xcopy aangeven of het script goed gelopen heeft:

0: Files were copied without error.
1: No files were found to copy.
2: The user pressed CTRL+C to terminate xcopy.
4: Initialization error occurred. There is not enough memory or disk space, or you entered an invalid drive name or invalid syntax on the command line.
5: Disk write error occurred.

 



Wilt u graag een afspraak maken? Dat kan!

Wij ontvangen u met plezier of komen graag bij u op locatie.

[contact-form-7 id="605" title="Contactformulier 1"]
Heeft u een vraag?

Vul onderstaand formulier in en wij nemen zo snel mogelijk contact op!

[contact-form-7 id="606" title="Mail icoon popup"]
X