none
Unable to DR a DPM 2012 R2 Server RRS feed

  • Question

  • Hi All,

    It seems the ability to DR a DPM server has been broken significantly in two areas:

    1. DPMBackup -db is broken, the command returns invalid option so the DPM database cannot be protected through this mechanism
    2. If using DPM to backup its own DB to tape the backup works but when the tape is restored and the DPMSync -restored is used to put the Database back this process fails, when the restore fails it reports Error ID 470 which states the database is not present on the server but it is and if I rename it reports the Database with <name> is missing.  The detailed error states missing object DPMDB.DBO.SYSFILES

    These are priority 1 issues as not being able to protect the product that is protecting the infrastructure is a massive issue.  I have completed this procedure over 100 times from DPM 2007 through to DPM 2012 SP1 with no issues, but 2012R2 all seems broken.

    Regards,

    Paul

    Thursday, April 17, 2014 8:10 AM

Answers

  • Hi,

    OK - I have the repro - this error ONLY occurs when attempting to restore specifying a .mdf file AND the DPM database name you are restore is anything other than DPMDB.  If you use .bak file the restore will work regardless of the DPB DB name.

    <SNIP FROM MY REPRO>

    C:\restored>dir
     Volume in drive C has no label.
     Volume Serial Number is 06B6-27DB

     Directory of C:\restored

    05/07/2014  04:58 PM    <DIR>          .
    05/07/2014  04:58 PM    <DIR>          ..
    05/07/2014  03:57 PM       419,430,400 MSDPM2012$DPMDB_WINB_DPM.mdf
    05/07/2014  03:57 PM       524,288,000 MSDPM2012$DPMDB_WINB_DPM_log.ldf
                   2 File(s)    943,718,400 bytes
                   2 Dir(s)  112,242,360,320 bytes free

    C:\restored>dpmsync -restoredb -dbloc c:\restored\MSDPM2012$DPMDB_WINB_DPM.mdf -instancename (local) -dpmdbname DPMDB_WINB_DPM
    DpmSync 2.0 - DPM database synchronization command-line tool
    Copyright (c) 2013 Microsoft Corporation. All rights reserved.

    Error ID: 470
    DPM database is not present in the instance of SQL Server. Check that the DPM database is present in the given instance of SQL Server.

    Detailed Error: Invalid object name 'dpmdb.dbo.sysfiles'.


    C:\restored>dpmsync -restoredb -dbloc c:\restored\dpmdb_winb_dpm.bak -instancename (local) -dpmdbname DPMDB_WINB_DPM
    DpmSync 2.0 - DPM database synchronization command-line tool
    Copyright (c) 2013 Microsoft Corporation. All rights reserved.

    Restoring DPM Database completed.

    >SNIP<

    WORKAROUND
    =========
    Before restoring the DPM database - rename the DPMDB_machinename name in SQL  to just DPMDB - then do the restore and then rename the DPMDB name back to DPMDB_Machinename.

    NOTE: DPM SERVICE CANNOT BE STARTED UNTIL YOU RENAME THE DB BACK AND RUN DPMSYNC -SYNC.

    <snip>

    C:\restored>dpmsync -restoredb -dbloc c:\restored\MSDPM2012$DPMDB_WINB_DPM.mdf -instancename (local) -dpmdbname DPMDB
    DpmSync 2.0 - DPM database synchronization command-line tool
    Copyright (c) 2013 Microsoft Corporation. All rights reserved.

    Copying file from 'c:\restored\msdpm2012$dpmdb_winb_dpm.mdf' to 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERV
    ER\MSSQL\DATA\MSDPM2012$DPMDB_WINB_DPM.mdf.recovered'
    Copying file from 'c:\restored\msdpm2012$dpmdb_winb_dpm_log.ldf' to 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQL
    SERVER\MSSQL\DATA\MSDPM2012$DPMDB_WINB_DPM_log.ldf.recovered'
    Files copied successfully.
    Database detached successfully.
    Renamed file 'MSDPM2012$DPMDB_WINB_DPM.mdf.recovered' to 'MSDPM2012$DPMDB_WINB_DPM.mdf'
    Renamed file 'MSDPM2012$DPMDB_WINB_DPM_log.ldf.recovered' to 'MSDPM2012$DPMDB_WINB_DPM_log.ldf'
    Database attached successfully.
    Error ID: 453
    The DPM service failed to start. Check the application and system event logs for information on the error.

    Detailed Error: Time out has expired and the operation has not been completed.

    C:\restored>dpmsync -sync
    DpmSync 2.0 - DPM database synchronization command-line tool
    Copyright (c) 2013 Microsoft Corporation. All rights reserved.

    Note: The DPM role configuration of this server will also be rolled back during this operation.

    DPM Synchronization completed.
    Your tape library status may have changed.
    Recommendation: Go to the Library tab in the Management Task Area of the DPM Administration Console and choose the Inven
    tory Library action.
    >snip<


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.



    Wednesday, May 7, 2014 10:27 PM
    Moderator
  • Hi

    I will file a bug to get this code defect fixed - in the meantime use the workaround in my previous post.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.

    • Marked as answer by Paul Gregory Thursday, May 15, 2014 7:57 AM
    Thursday, May 8, 2014 12:40 AM
    Moderator

All replies

  • Hi,

    For issue 1. DPM 2012 R2 DPMbackup now requires more parameters since we support clustered DPMDB now.

    DPMbackup help details the parameters.

    DpmBackup 1.0 - Data Protection Manager backup command-line tool
    Copyright (c) 2012 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 the instance of SQL Server used by DPM.
     Usage:
             DpmBackup.exe [-db [-instanceName <name>] [-dpmdbName <name>] [-targetLocation <location>]] [-replicas] [-certificates]
     
             [-db]               Backs up the databases to the default backup location on the DPM server, %DPMInstallLocation%\Volumes\ShadowCopy\Database Backups\.
             [-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 the local computer.
                                 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.

    Dpmbackup Example:

    C:\> dpmbackup -db -instancename custominstance -dpmdbname DPMDB_DPM03 -targetlocation c:\temp

    For Issue 2.  I tested the scenario and did not have any problems.  Again, Syntax is important.

    DpmSync 2.0 - DPM database synchronization command-line tool
    Copyright (c) 2012 Microsoft Corporation. All rights reserved.

    Description:
     DpmSync restores the DPM database and the DPM Report database, and
     synchronizes the restored DPM database with the state of the DPM system.

    Usage:
     DpmSync [-Sync] | [-ReallocateReplica] | [-DataCopied] | [-RestoreDb -DbLoc [-InstanceName -DpmDbName]]

     -Sync    Database sync of a pre-restored DPM DB.
     -RestoreDb -DbLoc location Location where DPM DB backup resides.
     -RestoreDb -DbLoc location -InstanceName server\instance -DpmDbName DPM database name
      -DbLoc:  Location where DPM DB backup resides.
      -InstanceName:  Instance to which DPM database needs to be restored.
      -DpmDbName:  DPM database name to which DPM database needs to be restored.
     -ReallocateReplica  Only reallocates all missing replica
         volumes without synchronization.
     -DataCopied   Indicates that you have completed loading data into the newly allocated replica volumes.
         This is applicable for client computers only.

    DPMSYNC Example:

    C:\>dpmsync -restoredb -dbloc C:\MSDPM2012$DPMDB.mdf -instancename dpmsqldb\msdpm2012 -dpmdbname dpmdb_DPM03
    DpmSync 2.0 - DPM database synchronization command-line tool
    Copyright (c) 2013 Microsoft Corporation. All rights reserved.

    Copying file from 'c:\msdpm2012$dpmdb.mdf' to 'C:\Program Files\Microsoft System Center 2012\DPM\DPM\DPMDB\MSDPM2012$DPMDB.mdf.recovered'
    Copying file from 'c:\msdpm2012$dpmdb_log.ldf' to 'C:\Program Files\Microsoft System Center 2012\DPM\DPM\DPMDB\MSDPM2012$DPMDB_log.ldf.recovered'
    Files copied successfully.
    Database detached successfully.
    Renamed file 'MSDPM2012$DPMDB.mdf.recovered' to 'MSDPM2012$DPMDB.mdf'
    Renamed file 'MSDPM2012$DPMDB_log.ldf.recovered' to 'MSDPM2012$DPMDB_log.ldf'
    Database attached successfully.
    Restoring DPM Database completed.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.


    Sunday, April 20, 2014 1:22 AM
    Moderator
  • Hi Mike,

    Thank you for the information on DPMBackup I missed the backup option of (local) for the instance name.  DPMBackup and DPMSync for 2012 R2 still do not seem to be documented on TechNet.

    But this does not change the main issue and DPMSync is still broken.  The full command syntax I am using is:

    DPMSync -restored -dbloc "c:\Recovery\Vol_C\Program files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\MSDPM2012$DPMDB_QA_DPM01.mdf" -instancename QA-DPM01\MSSQLSERVER -dpmdbname DPMDB_QA_DPM01

    The DPM Server and the SQL server are the same computer (QA-DPM01) and the SQL instance is the default instance (MSSQLSERVER). 

    If I enter the command as above DPMSync reports that it was unable to connect/find the SQL Server.  If I leave the -instancename parameter off or just put in the computer name (QA-DPM01) I get the initial error reported.  Could this be an issue with DPMSync installed on a default instance of SQLServer?  I can remotely connect to the instance of SQL Server using the management studio on a remote computer.

    The SQL Server is SQL 2012 SP1 as required.

    I have tried using a named instance as have exactly the same issues.  I do not know why DPMSync would even be searching for an object called DPMDB.DBO.sysfiles, there is not one, the database has a dbo.sysfiles only.  Very strange.

    Wednesday, April 23, 2014 8:43 AM
  • Hi,

    I have not tried using a default instance of SQL, but see if this works.

    DPMSync -restoredb -dbloc "c:\Recovery\Vol_C\Program files\Microsoft SQL
    Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\MSDPM2012$DPMDB_QA_DPM01.mdf"
    -instancename (local) -dpmdbname DPMDB_QA_DPM01



    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.


    Wednesday, April 23, 2014 3:26 PM
    Moderator
  • Hi Mike,

    After I replied I did try the (local) option too but that did not work.  I have also uninstalled DPM and SQL Server and reinstalled using a named instance of SQL Server and this made no difference, exactly the same issue.  I find it very strange that it seems to be looking for a object in a database called DPMDB which of course does not exist.

    I find this concerning bearing in mind  in all previous releases this procedure has been incredibly reliable.  Not sure where to go with this now......

    Regards,

    Paul

    Wednesday, April 23, 2014 4:24 PM
  • Hi Mike,

    Just to update you a little more.  The computer I was using as the beginning was a Windows Server 2008R2 computer (clean install) that had been upgraded to Windows Server 2012, the had SQL Server 2012 installed then DPM.  I was wondering if this upgrade might be causing a strange issue so I rebuilt the system from scratch:

    Brand new VM

    Installed WS 2012 R2

    Installed SQL Server 2012 SP1 E/Edition

    Installed DPM 2012 R2

    Problem with DPMsync exactly the same as stated originally.  I am amazed this cannot be reproduced where as I have 100% failure......Everything I am doing in in UK English one if it might be local related, I am clutching at straws.

    Paul

    Thursday, May 1, 2014 2:40 PM
  • Hi,

    I do not not know why dpmsync -restored is failing for you, I cannot reproduce the error, however, you can restore the DB manually using sql management studio - the run dpmsync -sync after it brought online. 


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, May 1, 2014 6:44 PM
    Moderator
  • Hello,

    Paul, just to let you know you are not alone with this problem.

    I receive the exact same error messages when trying to run DPMSync.exe -restoreDb against a *.mdf file restored from tape. But the command will run successfully against a *.bak file created by DPMBackup.exe.

    Manually detaching/attaching the DB from SQL Management Studio and running DPMSync.exe -Sync as Mike suggested worked as well. Although I think its reasonable to expect that this should not have to be done manually and that DPM should be capable of restoring its own DB from tape.

    The environment I am working with is as follows:
    Original Server

    • Windows Server 2012 R2
    • DPM 2012 R2
    • Remote SQL Server 2008 R2 SP2

    Restoring Server

    • Windows Server 2012 R2
    • DPM 2012 R2
    • Local SQL Server 2008 R2 SP2
    Thursday, May 1, 2014 11:49 PM
  • Hi,

    Many thanks for confirming the issue. Seems strange MS cannot reproduce when it seems to fail 100% of the time.  Agreed the manual recovery process does work, and agreed the documented process on the TechNet website should work but does not.  MS need to fix asap.

    Regards,

    Paul

    Wednesday, May 7, 2014 3:48 PM
  • Hi,

    OK - I have the repro - this error ONLY occurs when attempting to restore specifying a .mdf file AND the DPM database name you are restore is anything other than DPMDB.  If you use .bak file the restore will work regardless of the DPB DB name.

    <SNIP FROM MY REPRO>

    C:\restored>dir
     Volume in drive C has no label.
     Volume Serial Number is 06B6-27DB

     Directory of C:\restored

    05/07/2014  04:58 PM    <DIR>          .
    05/07/2014  04:58 PM    <DIR>          ..
    05/07/2014  03:57 PM       419,430,400 MSDPM2012$DPMDB_WINB_DPM.mdf
    05/07/2014  03:57 PM       524,288,000 MSDPM2012$DPMDB_WINB_DPM_log.ldf
                   2 File(s)    943,718,400 bytes
                   2 Dir(s)  112,242,360,320 bytes free

    C:\restored>dpmsync -restoredb -dbloc c:\restored\MSDPM2012$DPMDB_WINB_DPM.mdf -instancename (local) -dpmdbname DPMDB_WINB_DPM
    DpmSync 2.0 - DPM database synchronization command-line tool
    Copyright (c) 2013 Microsoft Corporation. All rights reserved.

    Error ID: 470
    DPM database is not present in the instance of SQL Server. Check that the DPM database is present in the given instance of SQL Server.

    Detailed Error: Invalid object name 'dpmdb.dbo.sysfiles'.


    C:\restored>dpmsync -restoredb -dbloc c:\restored\dpmdb_winb_dpm.bak -instancename (local) -dpmdbname DPMDB_WINB_DPM
    DpmSync 2.0 - DPM database synchronization command-line tool
    Copyright (c) 2013 Microsoft Corporation. All rights reserved.

    Restoring DPM Database completed.

    >SNIP<

    WORKAROUND
    =========
    Before restoring the DPM database - rename the DPMDB_machinename name in SQL  to just DPMDB - then do the restore and then rename the DPMDB name back to DPMDB_Machinename.

    NOTE: DPM SERVICE CANNOT BE STARTED UNTIL YOU RENAME THE DB BACK AND RUN DPMSYNC -SYNC.

    <snip>

    C:\restored>dpmsync -restoredb -dbloc c:\restored\MSDPM2012$DPMDB_WINB_DPM.mdf -instancename (local) -dpmdbname DPMDB
    DpmSync 2.0 - DPM database synchronization command-line tool
    Copyright (c) 2013 Microsoft Corporation. All rights reserved.

    Copying file from 'c:\restored\msdpm2012$dpmdb_winb_dpm.mdf' to 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERV
    ER\MSSQL\DATA\MSDPM2012$DPMDB_WINB_DPM.mdf.recovered'
    Copying file from 'c:\restored\msdpm2012$dpmdb_winb_dpm_log.ldf' to 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQL
    SERVER\MSSQL\DATA\MSDPM2012$DPMDB_WINB_DPM_log.ldf.recovered'
    Files copied successfully.
    Database detached successfully.
    Renamed file 'MSDPM2012$DPMDB_WINB_DPM.mdf.recovered' to 'MSDPM2012$DPMDB_WINB_DPM.mdf'
    Renamed file 'MSDPM2012$DPMDB_WINB_DPM_log.ldf.recovered' to 'MSDPM2012$DPMDB_WINB_DPM_log.ldf'
    Database attached successfully.
    Error ID: 453
    The DPM service failed to start. Check the application and system event logs for information on the error.

    Detailed Error: Time out has expired and the operation has not been completed.

    C:\restored>dpmsync -sync
    DpmSync 2.0 - DPM database synchronization command-line tool
    Copyright (c) 2013 Microsoft Corporation. All rights reserved.

    Note: The DPM role configuration of this server will also be rolled back during this operation.

    DPM Synchronization completed.
    Your tape library status may have changed.
    Recommendation: Go to the Library tab in the Management Task Area of the DPM Administration Console and choose the Inven
    tory Library action.
    >snip<


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.



    Wednesday, May 7, 2014 10:27 PM
    Moderator
  • Hi

    I will file a bug to get this code defect fixed - in the meantime use the workaround in my previous post.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.

    • Marked as answer by Paul Gregory Thursday, May 15, 2014 7:57 AM
    Thursday, May 8, 2014 12:40 AM
    Moderator
  • Hi Mike,

    Awesome.  Many thanks for the response.  It does seem DPM 2012 R2 does always use a DB name with the computername as part of the name, which is great as it stops some of those GUID issues from previous releases.

    Many thanks for your time with this.  I look forward to the fix.

    Paul

    Thursday, May 15, 2014 7:59 AM