none
Removing Protected Server after 2012 R2 upgrade RRS feed

  • Question

  • Having recently competed our upgrade to DPM 2012 R2 I now need to remove two 2003 servers from a protection group that has been decommissioned.
    However whenever I use the console to modify the group and remove the servers before I can get to the update group tab the console crashes without an error! (see screenshot) It happens on the server and on my workstation using the management console but it doesn't happen on for other protection groups so I wonder if it has something to do with the fact this is the only group with 2003 servers and non upgraded agents in. As I can't upgrade the agents I'm a little stuck.

    I wondered if I could use a PowerShell command to forcibly remove the servers from the protection group then I can delete the servers entirely.

    I've looks up some powershell commands but I don't appear to be getting the synx right, any help would be appreciated.

    Rob


    • Edited by RobFuller Monday, June 2, 2014 7:42 AM
    Monday, June 2, 2014 7:39 AM

All replies

  • Hi

    Try to right click the Datasources in the Protectiongroup view and click "Stop Protection of member"


    Seidl Michael | http://www.techguy.at | twitter.com/techguyat | facebook.com/techguyat

    Monday, June 2, 2014 8:11 AM
  • Not sure what view as I don't see an option for "Stop Protection of member" in the protection group view. I've tried deleting the whole protection group but I get this error 

    Obviously the services are running as I can error and backup fine.

    Monday, June 2, 2014 8:19 AM
  • do you had any Errors during upgrade?

    i ment this:


    Seidl Michael | http://www.techguy.at | twitter.com/techguyat | facebook.com/techguyat

    Monday, June 2, 2014 8:26 AM
  • Ah got you.

    Tried that but get the same services error as above.

    I did have an error installing R2 but it was add user to local group bug in the installer so just used a workaround and have now set the sql service back to local account. Workaround

    Monday, June 2, 2014 8:35 AM
  • please check your Event log regarding your error on, there should be an alert

    Seidl Michael | http://www.techguy.at | twitter.com/techguyat | facebook.com/techguyat

    Monday, June 2, 2014 11:18 AM
  • An unexpected error caused a failure for process 'mmc'.  Restart the DPM process 'mmc'.

    Problem Details:
    <FatalServiceError><__System><ID>19</ID><Seq>0</Seq><TimeCreated>02/06/2014 07:34:34</TimeCreated><Source>DpmThreadPool.cs</Source><Line>163</Line><HasError>True</HasError></__System><ExceptionType>CmdletInvocationException</ExceptionType><ExceptionMessage>Data is Null. This method or property cannot be called on Null values.</ExceptionMessage><ExceptionDetails>System.Management.Automation.CmdletInvocationException: Data is Null. This method or property cannot be called on Null values. ---&gt; System.Data.SqlTypes.SqlNullValueException: Data is Null. This method or property cannot be called on Null values.
       at System.Data.SqlClient.SqlBuffer.get_String()
       at Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.ProtectionGroup.ReadBackupAndCCWindow()
       at Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.ProtectionGroup.get_CCWindow()
       at Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.ProtectionGroup.ScheduleVerification(DateTime startTime, Int32 maxDuration)
       at Microsoft.Internal.EnterpriseStorage.Dls.UI.Cmdlet.ProtectionCmdLets.SetProtectionJobStartTime.CallBack(Object[] paramsList)
       at Microsoft.Internal.EnterpriseStorage.Dls.UI.Cmdlet.ProtectionCmdLets.SetProtectionJobStartTime.DoProcessing()
       at Microsoft.Internal.EnterpriseStorage.Dls.UI.Cmdlet.Utils.DpmCmdletBase.ProcessRecord()
       at System.Management.Automation.CommandProcessor.ProcessRecord()
       --- End of inner exception stack trace ---
       at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
       at Microsoft.Internal.EnterpriseStorage.Dls.UI.UICommon.CmdLetWrapper.Invoke()
       at Microsoft.Internal.EnterpriseStorage.Dls.UI.Dpw.ConsistencyCheckOptions.OnLeavePage(LeavePageEventArgs e)
       at Microsoft.Internal.EnterpriseStorage.UI.WizardFramework.WizardPage.RaiseLeavePage(LeavePageEventArgs e)
       at Microsoft.Internal.EnterpriseStorage.UI.WizardFramework.WizardForm.ValidateAndLeavePage(WizardPage page, LeavePageEventArgs e)
       at Microsoft.Internal.EnterpriseStorage.UI.WizardFramework.WizardForm.TraversePagesToTarget(WizardPage startPage, WizardPage targetPage, NavigationDirection direction)
       at Microsoft.Internal.EnterpriseStorage.UI.WizardFramework.WizardForm.InternalNavigateToPage(WizardPage targetPage, NavigateEventArgs e)
       at System.Windows.Forms.Button.WndProc(Message&amp; m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)</ExceptionDetails></FatalServiceError>
    Monday, June 2, 2014 11:44 AM
  • Above is the error I get in application events log on the client running the management console. 

    Thanks for your help,
    Rob

    Monday, June 2, 2014 12:04 PM
  • Monday, June 2, 2014 3:24 PM
  • The services are currently running at local account and that is correct in the Setups key.

    DPMSERVER\MICROSOFT$DPM$Acct

    Doesn't look like the UPN is the issue, perhaps? Unless I reset the services to run at the domain account again and format it again. Ideally though it would be better running as a local account in case the domain is unavailable and I need access to the backup for whatever reason.

    Rob

    Monday, June 2, 2014 4:33 PM
  • I guess my last option would be to try powershell commands failing that I'm a bit stuck!!
    Wednesday, June 4, 2014 8:50 AM
  • Just run the DPM Powershell and execute Remove-Productionserver.ps1.  I haven't had this fail even though the MMC flakes out sometimes.  It will prompt you for the psname (fully qualified domain name of the protected server) and the DPM server name (fully qualified domain name of your DPM server).

    Should work.


    Rob


    • Edited by ip-rob Wednesday, June 4, 2014 9:39 PM Fix typo
    Wednesday, June 4, 2014 9:38 PM
  • Looks like I cannot run that command until I stop the protection of that server, still tricky one this. Is there a script that removes the server from the protection group first?

    Thanks kindly,

    Rob

    PS C:\Program Files\Microsoft DPM\DPM\bin> Remove-ProductionServer.ps1 -DPMServe
    rname DPMserver.gbhs.co.uk -PSName SERVERtoREMOVE.gbhs.co.uk
    WARNING: Connecting to DPM server: DPMserver.gbhs.co.uk
    There is failure while removing production server
    C:\Program Files\Microsoft DPM\DPM\bin\Remove-ProductionServer.ps1 : DPM was
    unable to remove the protected computer SERVERtoREMOVE.gbhs.co.uk, which includes
    active or inactive protection on this DPM server.
    At line:1 char:1
    + Remove-ProductionServer.ps1 -DPMServername DPMserver.gbhs.co.uk -PSName
    SERVERtoREMOVE.gb...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ~~~
        + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorExcep
       tion
        + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio
       n,Remove-ProductionServer.ps1

    Delete any active protection for this protected computer and then retry the oper
    ation.


    • Edited by RobFuller Wednesday, June 4, 2014 10:23 PM
    Wednesday, June 4, 2014 10:22 PM
  • You may want to try a different powershell cmdlet sequence.  Note, I'm just typing this and have not tested it...so there may be errors. 

    1. $ps = get-dpmproductionserver -dpmservername DPMSERVER | where {$_.ServerName -eq 'PSNAME'}

    DPMSERVER = the name of your DPM server (FQDN)

    PSNAME = name of protected server (FQDN)

    This gets you a production server object that you may be able to delete.  Try the cmdlet

    remove-dpmobject -object $ps

    This will probably return some error.  If it does, I'd recommend getting an array of the protection group datasource objects by running

    - $pgobj = Get-DPMDatasource -dpmservername DPMSERVER | where {$_.Computer -eq 'PSNAME'}

    Then you should be able to remove that DPM Object or use the remove-DPMChildDatasource, remove-DPMDatasourceReplica or other cmdlets to remove the data source protection.  At that point you may be able to remove the actual server.

    The other option is to open a ticket with Microsoft Support.  That may be your best option in this case.


    Rob

    Thursday, June 5, 2014 3:46 PM