DPM Restore Failing - Error ID 917 RRS feed

  • Question

  • Hi Guys,

    I do apologise in advance for anything i explain poorly, DPM is not my strong point. I am currently trying to restore data from a backup tape, i have done this in the past 6 months perfectly fine. I have my tape in slot and I have identified the tape, it finds the tape fine and the data. I then select the data i wont to copy select the location i want to copy it to (either locally, elsewhere on a share or drive) then begin the copy. DPM displays the job has started and this can be viewed in job in progress. Around 20 seconds later (if no other jobs are running) DPM will return the error:

    Connection to the DPM service has been lost. Review the application event log for information about a possible service shutdown. Veryify that the following services are not disabled: DPM | DPM Replication Agent | SQLAgest$MSSQLSERVER | MSSQL$MSQLSERVER | Virtual Disk Service | Volume Shadow Copy.

    The event viewer gives the below:

    The description for Event ID 943 from source MSDPM cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

    If the event originated on another computer, the display information had to be saved with the event.

    The following information was included with the event: 

    Unable to connect to the DPM database because the database is in an inconsistent state.

    Problem Details:
    <FatalServiceError><__System><ID>19</ID><Seq>95</Seq><TimeCreated>04/10/2016 10:43:29</TimeCreated><Source>DpmThreadPool.cs</Source><Line>163</Line><HasError>True</HasError></__System><ExceptionType>DBCorruptionException</ExceptionType><ExceptionMessage>Couldn't access DataSourceInfo '00000000-0000-0000-0000-000000000000' in the database</ExceptionMessage><ExceptionDetails>Microsoft.Internal.EnterpriseStorage.Dls.DB.DBCorruptionException: Couldn't access DataSourceInfo '00000000-0000-0000-0000-000000000000' in the database
       at Microsoft.Internal.EnterpriseStorage.Dls.PRMCatalog.DataSourceInfo.GetDataSourceInfo(SqlContext ctx, Guid datasourceIdLocal)
       at Microsoft.Internal.EnterpriseStorage.Dls.PRMCatalog.PrmCatalog.GetDataSourceInfo(Guid datasourceId)
       at Microsoft.Internal.EnterpriseStorage.Dls.WriterHelper.CommandParamsHelper.GetWriterId()
       at Microsoft.Internal.EnterpriseStorage.Dls.WriterHelper.CommandParamsHelper.GetSourceCommunicationParameters(Guid taskId, Guid verbId)
       at Microsoft.Internal.EnterpriseStorage.Dls.WriterHelper.DataTransferCommonTaskHelper.get_SourceCommunicationParameters()
       at Microsoft.Internal.EnterpriseStorage.Dls.Prm.StartRestoreBlock.MTARestoreDatasetSend(Message msg)
       at Microsoft.Internal.EnterpriseStorage.Dls.TaskExecutor.Fsm.Transition.Execute(Message msg)
       at Microsoft.Internal.EnterpriseStorage.Dls.TaskExecutor.Fsm.Engine.ChangeState(Message msg)
       at Microsoft.Internal.EnterpriseStorage.Dls.TaskExecutor.TaskInstance.Process(Object dummy)
       at Microsoft.Internal.EnterpriseStorage.Dls.TaskExecutor.FsmThreadFunction.Function(Object taskThreadContextObj)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
       at System.Threading.ThreadPoolWorkQueue.Dispatch()</ExceptionDetails></FatalServiceError>

    the message resource is present but the message is not found in the string/message table

    All services are running the machine and services have been restarted. I have completed all updates, tried multiple tapes. I am just not sure what is going on with it. Any help is much appreciated.


    • Edited by Rick Frith Tuesday, October 4, 2016 1:46 PM
    Tuesday, October 4, 2016 1:00 PM

All replies

  • Hi! did you get any solution to this ?

    We are experiencing the same error.

    Tuesday, November 1, 2016 1:56 PM
  • Hi,

    While doing an internal search for the error you posted, I found a couple of issues were resolved by modifying a dpm stored procedure.  If the below does not resolve the problem, please revert the change so it doesn't cause other problems.

    1) Using SQL server management studio, connect to the sql instance used by DPM.
    2) Make a backup of the DPMDB.
    3) Locate the stored procedure called prc_ARM_FileGen_ExpandDirOrFile under the DPMDB - Programmability - Stored Procedures.
    4) Right-click the prc_ARM_FileGen_ExpandDirOrFile and select Modify.
    5) Locate line 69 which looks like below:

    dirandfile.[Name] LIKE @DirOrFileName ESCAPE '*' AND 

    6) Replace that line with the below.

    upper(dirandfile.[Name]) LIKE upper(@DirOrFileName) ESCAPE '*' AND

    7) Press the execute button - that will save the changed the stored procedure.
    8) Exit SQL Server Management Studio
    9) Try the tape restore.

    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.

    Tuesday, November 1, 2016 4:37 PM
  • Hi!

    I changed that Stored Procedure, but it did not help.

    we still get the same error when we try to restore from tape or copy from tape to disk.

    if we restore from disk it is working.

    we have two tapelibrarys connected and it is the same from both.

    Wednesday, November 2, 2016 12:37 PM
  • Hi,

    OK - was worth the try.  That was the only solution I found internally - may be another code defect that needs to be uncovered.  Suggest opening a support case and if it is a bug you will not be charged for the incident.

    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, November 2, 2016 6:44 PM