none
Unable to add System Protection and SQL datasources to protection group RRS feed

  • Question

  • I've been struggling with an error im receiving when i try and add either a System Protection or SQL datasource to a protection group, a 'given key was not present in the dictionary'.    Adding volumes works without error.  This is 2012 SP1 of DPM

    The error im receiving occurs when i try and confirm the settings through Set-ProtectionGroup for these other datasources.  This will occur when creating a protection group or trying to modify one, such as below.  Really stuck on this one, any advice would be great!


    $ProductionServer = Get-ProductionServer -DPMServerName $env:computername | ? {$_.Servername -eq 'xxxxxx}

    $ProtectionGroup = Get-ProtectionGroup -DPMServerName $env:COMPUTERNAME | ? {$_.Name -eq 'yyyyy'}
    $ModifiableProtectionGroup = Get-ModifiableProtectionGroup -protectiongroup $ProtectionGroup

    $Datasources  = Get-Datasource -ProductionServer $ProductionServer -Inquire | ? {($_.ObjectType -ne 'Share') -and ($_.ObjectType -ne 'Volume') }
    Add-ChildDatasource -ProtectionGroup $ModifiableProtectionGroup -ChildDatasource $Datasources

    FOREACH ($DataSource in $DataSources) {
        Get-DatasourceDiskAllocation -Datasource $DataSource
        Set-DatasourceDiskAllocation -Datasource $DataSource -ProtectionGroup $ModifiableProtectionGroup
    }

    Set-ReplicaCreationMethod -ProtectionGroup $ModifiableProtectionGroup -NOW

    #Everything has been working so far, until the command below

    Set-protectiongroup $ModifiableProtectionGroup

    Set-protectiongroup : The given key was not present in the dictionary.
    At line:1 char:1
    + Set-protectiongroup $ModifiableProtectionGroup
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Set-DPMProtectionGroup], KeyNotFoundException
        + FullyQualifiedErrorId : System.Collections.Generic.KeyNotFoundException,Microsoft.Internal.EnterpriseStorage.Dls
       .UI.Cmdlet.ProtectionCmdLets.CommitProtectionGroup

    Thursday, February 21, 2013 8:14 AM

All replies

  • NB, the datasource is being successfully added to the modifiable protection group whilst it is in memory.

    Get-Datasource $ModifiableProtectionGroup

    Computer                                Name                                    ObjectType
    --------                                ----                                    ----------
    xxxCRMDEV01                             C:\                                     Volume
    xxxCRMDEV01                             D:\                                     Volume
    xxxCRMPRD01                             C:\                                     Volume
    xxxCRMPRD01                             D:\                                     Volume
    xxxCRMPRD01                             X:\                                     Volume
    xxxCRMPRD01                             System Protection                       System Protection


    • Edited by Timbo37 Thursday, February 21, 2013 8:27 AM
    Thursday, February 21, 2013 8:25 AM