L’équipe DPM a publié un billet concernant la restauration d’une sauvegarde DPM. Lorsque vous exécutez la ligne de commande C:>DpmSync.exe –restoredb –dbloc pour restaurer le fichier DPMDB.bak, vous recevez l’erreur suivante :
Unhandled Exception: Microsoft.SqlServer.Management.Smo.FailedOperationException: Restore failed for Server <DPMDBName>. ---> Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. ---> System.Data.SqlClient.SqlException: Directory lookup for the file "<D:\Microsoft System Center 2012\DPMDB\MSDPM2012$DPMDB.mdf>" failed with the operating system error 2(The system cannot find the file specified.). File 'MSDPM2012$DPMDB_dat' cannot be restored to 'D:\Microsoft System Center 2012\DPMDB\MSDPM2012$DPMDB.mdf'. Use WITH MOVE to identify a valid location for the file.Directory lookup for the file "<D:\Microsoft System Center 2012\DPMDB\MSDPM2012$D>PMDB_log.ldf" failed with the operating system error 2(The system cannot find the file specified.). File 'MSDPM2012$DPMDBLog_dat' cannot be restored to 'D:\Microsoft System Center2012\DPMDB\MSDPM2012$DPMDB_log.ldf'. Use WITH MOVE to identify a valid locationfor the file.Problems were identified while planning for the RESTORE statement. Previous messages provide details.RESTORE DATABASE is terminating abnormally.at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)--- End of inner exception stack trace --- at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)at Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql(Server server, StringCollection queries)at Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv) --- End of inner exception stack trace --- at Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv) at Microsoft.Internal.EnterpriseStorage.Dls.RestoreDbSync.RestoreDBHelper.RestoreFromBackupFile(String dbLocation) at Microsoft.Internal.EnterpriseStorage.Dls.RestoreDbSync.RestoreDBHelper.RestoreDb(String dbLocation)at Microsoft.Internal.EnterpriseStorage.Dls.RestoreDbSync.RestoreDbSync.Main(String[] args) <D:\Microsoft System Center 2012\DPM\DPM\bin>> .//
Ce problème survient si le répertoire d’installation de DPM 2012 a changé depuis l’installation.
Deux solutions s’offrent à vous :
- Créer la structure de dossier nécessaire afin de faire l’opération de restauration en utilisant le chemin originel
- Utiliser SQL Server Management Studio pour faire la restauration de DPMDB.bak. Exécutez ensuite DpmSync.exe –Sync en tant qu’administrateur.
Plus d’informations sur la KB3047774 - "The system cannot find the file specified" error when you use Data Protection Manager to restore DPMDB.bak