Recovery points failing on 2012 R2 x64 virtual server via DPM 2012 R2 x64 - The parameter is incorrect (0x80070057)

I'm getting this on only one of my many virtual servers for some reason.. i've dug around.. i saw there may be a "private" fix for this issue..
The specific message is:
The replica of Volume D:\ on server02.domain.local is inconsistent with the protected data source. All protection activities for data source will fail until the replica is synchronized with consistency check. You can recover data from existing recovery points,
but new recovery points cannot be created until the replica is consistent. 
For SharePoint farm, recovery points will continue getting created with the databases that are consistent. To backup inconsistent databases, run a consistency check on the farm. (ID 3106)
An unexpected error occurred while the job was running. (ID 104 Details: The parameter is incorrect (0x80070057))
This is not a sharepoint server..
Any thoughts here
EDIT:
I am not seeing any indication of errors on the event viewer of the server being backed up..
Tech, the Universe, Everything: http://tech-stew.com

Hi,
We have released the fix in UR1.
Issues that are fixed in System Center 2012 R2 Data Protection Manager Update Rollup 1
Issue 1
A 0x80070057 error occurs when a session is closed prematurely. This error is caused by a failure during a consistency check.
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.

Similar Messages

  • An unexpected error occurred while the job was running. (ID 104 Details: The parameter is incorrect (0x80070057)) After DPM 2012 SP1 to R2 Upgrade

    Hi,
    We have upgraded DPM 2012 SP1 to DPM 2012 R2 and OS is Windows 2012 standard.
    Now in File Protection Group, we receive error
    "An unexpected error occurred while the job was running. (ID 104 Details: The parameter is incorrect (0x80070057))".
    This happens to only one Drive(X: Drive) of the PG server, other drive(Z: Drive) backup is working fine.
    We tried,
    Deleted entire protection group and recreated ,
    Ran consistency job 2 to 3 times.
    Ran Synchronize with consistency check.
    But every time It failed. Before upgrade it was working fine.
    Thanks

    Hi
    I would suggest opening a new case with MS to allow the DPM team to further look into the issue. Also the DPM 2012 R2 RollUp which addresses the (0x80070057)
    issue is Rollup 1 and the private will not be needed after applying Rollup 1. The Roll up is found here
    http://support.microsoft.com/kb/2904687/en-us
    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, Dwayne Jackson II. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights."

  • DPM 2012 R2 - Replica is inconsistent (ID 104 Details: The parameter is incorrect (0x80070057))

    Since implementing DPM 2012 R2, we have been having issues with several replicas in different protection groups. We are running version 4.2.1254.0. We have been unable to backup, as we are receiving the following error when running a consistency check:
    An unexpected error occurred while the job was running. (ID 104 Details: The parameter is incorrect (0x80070057))
    Any idea how to get this fixed?

    104
    An unexpected error occurred while the job was running.
    This error can appear if you are trying to protect a SQL Server database that has files on a remote share. This is not supported by DPM.
    Please check below DPM error codes list for reference.
    http://social.technet.microsoft.com/wiki/contents/articles/24613.system-center-data-protection-manager-error-codes.aspx

  • [SOLVED] OSCDIMG Tool Does Not Work on Windows 10? ReadFile() fails with error code 87. (The parameter is incorrect) on ReFS Storage Space Mirror

    Hello,
    What could be the reason of OSCDIMG premastering tool not working in Windows 10?
    I'm trying to rebuild ISO from the admin setup point and having problems with OSCDIMG failing to read files from the master folder:
    E:\Images>bin\oscdimg.exe -bootdata:2#p0,e,b"D:\ISOFOLDER\boot\etfsboot.com"#pEF,e,b"D:\ISOFOLDER\efi\Microsoft\boot\efisys.bin" -o -h -m -u2 -udfver102 -lwinsetup D:\ISOFOLDER test.iso
    OSCDIMG 2.56 CD-ROM and DVD-ROM Premastering Utility
    Copyright (C) Microsoft, 1993-2012. All rights reserved.
    Licensed only for producing Microsoft authorized content.
    Scanning source tree (500 files in 15 directories)
    Scanning source tree complete (950 files in 95 directories)
    Computing directory information complete
    Image file is 3591864320 bytes (before optimization)
    Writing 950 files in 95 directories to test.iso
    0% complete
    ReadFile failed (\\?\E:\Images\ISOFOLDER\autorun.inf, off=0 len=800 status=103)
    Error 87: The parameter is incorrect.
    Thank you.
    Well this is the world we live in And these are the hands we're given...

    Figured it myself.
    For some reason, the tool does NOT support source locations on ReFS formatted drives. Move the D:\ISOFOLDER location to NTFS formatted drive, and the tool works flawless:
    E:\Images>bin\oscdimg.exe -bootdata:2#p0,e,b"D:\ISOFOLDER\boot\etfsboot.com"#pEF,e,b"D:\ISOFOLDER\efi\Microsoft\boot\efisys.bin" -o -h -m -u2 -udfver102 -lwinsetup D:\ISOFOLDER D:\TEMP\test.iso
    OSCDIMG 2.56 CD-ROM and DVD-ROM Premastering Utility
    Copyright (C) Microsoft, 1993-2012. All rights reserved.
    Licensed only for producing Microsoft authorized content.
    Scanning source tree (500 files in 15 directories)
    Scanning source tree complete (950 files in 95 directories)
    Computing directory information complete
    Image file is 3591864320 bytes (before optimization)
    Writing 950 files in 95 directories to D:\TEMP\test.iso
    100% complete
    Storage optimization saved 45 files, 16310272 bytes (1% of image)
    After optimization, image file is 3577761792 bytes
    Space saved because of embedding, sparseness or optimization = 16310272
    Done
    Well this is the world we live in And these are the hands we're given...

  • Using MSXML2.ServerXMLHttp in MS SQL 2012 - receiving error "The Parameter is incorrect".

    I have a procedure used to make http post requests to a REST web service external to my SQL server, using MSXML2.ServerXMLHttp via POST request. This procedure works without issue in SQL 2008 r2, but upon upgrade to 2012, begins to fail with the message
    : "The Parameter is incorrect."
    It is failing when I attempt to exec the 'send' method on line 137. I cannot find any documentation about how the MSXML2.ServerXMLHttp object needs to be treated differently in 2012. I found a similar question here: http://social.technet.microsoft.com/Forums/sqlserver/en-US/a6de1eea-5fe9-4087-809b-524c98f20a4d/msxml6dll-methodsend-dont-work-in-windows-server-2012-and-sql-2008r2?forum=sqlxml 
    But it isn't resovled - just indications to file a bug report - and one solution that says to just copy the DLL from 2008 over to 2012 to fix the issue. Is that really the right solution here or does someone have information on how to do this properly with
    2012?
    Here is my procedure:
    CREATE procedure [dbo].[HTTP_REQUEST](@response varchar(4000) out, 
    @method varchar(64),
    @p1name varchar(256) = null,
    @p1value varchar(max) = null,
    @p2name varchar(256) = null,
    @p2value varchar(max) = null,
    @p3name varchar(256) = null,
    @p3value varchar(max) = null,
    @p4name varchar(256) = null,
    @p4value varchar(max) = null,
    @p5name varchar(256) = null,
    @p5value varchar(max) = null,
    @p6name varchar(256) = null,
    @p6value varchar(max) = null,
    @parent_table varchar(30) = null
    As
    Declare
    @obj int
    ,@hr int
    ,@status int
    ,@msg varchar(255)
    ,@apiKey varchar (64)
    ,@params varchar (max)
    SET @apiKey = (Select a.default_value from T_DEFAULTS a WHERE a.parent_table = @parent_table AND a.field_name = 'm2apiKey')
    SET @params = ''
    If @apiKey is null
      Begin
    select @msg = 'Invalid mail2 APIKey'
    RAISERROR(@msg, 11, 2) WITH SETERROR
    return -101
      End
    If @method is null
      Begin
    select @msg = 'No valid mail2 API method provided'
    RAISERROR(@msg, 11, 2) WITH SETERROR
    return -101
      End
    exec @hr = sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT
    if @hr <> 0 begin Raiserror('sp_OACreate MSXML2.ServerXMLHttp.3.0
    failed', 16,1) return end
    exec @hr = sp_OAMethod @obj, 'open', NULL, 'POST', 'http://api.someapiurl.net/REST/', true
    if @hr <>0 begin set @msg = 'sp_OAMethod Open failed' goto eh end
    exec @hr = sp_OAMethod @obj, 'setRequestHeader', NULL, 'Content-Type',
    'application/x-www-form-urlencoded'
    if @hr <>0 begin set @msg = 'sp_OAMethod setRequestHeader failed' goto
    eh end
    --Set Timeouts
    exec @hr = sp_OAMethod @obj, 'setTimeouts',NULL,5000,5000,10000,10000
    if @hr <>0 begin set @msg = 'sp_OAMethod setTimeouts failed' goto
    eh end
    --Add Method
    SET @params = '&method='+@method
    --Add API key
    SET @params = @params + '&key='+@apiKey
    --Add p1 if present
    IF @p1name IS NOT NULL
    BEGIN
    SET @params = @params + '&' + @p1name + '=' + @p1value
    END
    --Add p2
    IF @p2name IS NOT NULL
    BEGIN
    SET @params = @params + '&' + @p2name + '=' + @p2value
    END
    --Add p3
    IF @p3name IS NOT NULL
    BEGIN
    SET @params = @params + '&' + @p3name + '=' + @p3value
    END
    --Add p4
    IF @p4name IS NOT NULL
    BEGIN
    SET @params = @params + '&' + @p4name + '=' + @p4value
    END
    --Add p5
    IF @p5name IS NOT NULL
    BEGIN
    SET @params = @params + '&' + @p5name + '=' + @p5value
    END
    --Add p6
    IF @p6name IS NOT NULL
    BEGIN
    SET @params = @params + '&' + @p6name + '=' + @p6value
    END
    --SELECT @params
    --Send the request
    exec @hr = sp_OAMethod @obj, send, NULL, @params
    if @hr <>0 begin set @msg = 'sp_OAMethod Send failed' goto eh end
    --Get the status
    exec @hr = sp_OAGetProperty @obj, 'status', @status OUT
    if @hr <>0 begin set @msg = 'sp_OAGetProperty read status failed on get status' goto
    eh
    end
    if @status <> 200 begin set @msg = 'sp_OAMethod http status ' +
    str(@status) goto eh end
    if @status = 200 begin print 'sp_OAMethod http status is 200:Successful ' +
    str(@status) + @params end
    exec @hr = sp_OAGetProperty @obj, 'responseText', @response OUT
    if @hr <>0 begin set @msg = 'sp_OAGetProperty read response failed on get response text error code' + convert(varchar,@hr) goto
    eh end
    exec @hr = sp_OADestroy @obj
    return
    eh:
    exec @hr = sp_OADestroy @obj
    Raiserror(@msg, 16, 1)
    return
    Many thanks for the input - 
    Chris

    How can I fix the problem? changing the OS? I just bought the new server. I do?
    thanks
    Miky
    Rambaldi

  • How to backup Hyper-V host server on DPM 2012 R2

    Hi,
    I'm about to backup my first Hyper-V host server using DPM 2012.  I'm looking for a strategy to back up both the host server and virtual machines.  Note:  I'm not really interested in backing up all the virtual machines.  Many are non-production
    or for testing.  How do you do it?  I was thinking about selecting in the protection group:
    - BMR and SS for the Hyper-V host
    - The C: volume of the Hyper-V host
    - Select the Child partition snapshots of the virtual machines I want to backup.
    In my environment, Hyper-V role is installed on the C: drive, but the virtual machines are stored on E:, which I would not backup directly (volumes) since I'm backing up the VMs using Child partition snapshot.
    Would I be able to restore my Hyper-V host and the selected VMs with a backup like this?
    Anyone want to share how they setup their protection groups for Hyper-V?
    Thanks.

    No, use full server backup (image) if VM config are stored at default storage (disk  C).
    Understanding where your virtual machine files are [Hyper-V]
    Using this method to perform a full server backup is the recommended method because it captures more data than the other method.
    Backing Up Hyper-V Virtual Machines
    http://social.technet.microsoft.com/Forums/en-US/4592bad3-9f5d-4313-b9a0-9da6de7f43c2/restoring-vm-settings?forum=winserverhyperv
    Have a nice day !!!

  • Windows Server 2008 R2 System State Backup fails "the parameter is incorrect"

    Hi,
    I'm having the same problem as I've found in a few other threads.
    http://social.technet.microsoft.com/forums/en-us/windowsbackup/thread/C633B2E6-1161-4146-BC09-C2712231F0EE
    and
    http://social.technet.microsoft.com/Forums/en-US/windowsbackup/thread/0b0f2d9c-e3b1-4f85-a6d2-2e15e5a15bc1
    I've tried running the vshadow.exe -wm2 > out.txt command and searching the output for invalid paths, but I can't seem to find any paths that looks incorrect.
    I've also done a registry search under HKLM\CurrentControlSet\Services for the / character and didn't come up with any in any paths either.
    The server is a pretty new install. DC, DNS, DHCP, File and Print services. It has been running in production for about a week for a small business. Their previous server desperately needed changing over, so it got pushed in fairly quick. I never assumed
    I would have had trouble with the system state backing up!. It would be nice to get it working so I can sleep at night :). The old DC is still running, so all is not lost in a failure, but still... I guess also once I've demoted the old DC, I can restore AD
    just by restoring the entire system image (Don't have to worry about USN sync if only single DC), but I would still like a system state backup.
    Thanks, Ryan

    Hi,
    Try to apply the following hotfix.
    System state backup error in Windows Server 2008, in Windows Vista, in Windows 7 and in Windows Server 2008 R2: "Enumeration of the files failed"
    http://support.microsoft.com/kb/980794
    You may have to restart the computer after you apply this hotfix.
    Jeff Ren TechNet Community Support beneficial to other community members reading the thread.

  • SCCM 2012 License On Virtual Server

    I am trying to understand the Microsoft license and was wondering any of the experiences guys here can help with the scenario below.
    I have a physical server with 2 physical processors and Vsphere is installed on the host.My plan is to install SCCM as a VM which will manage about 5 physical Host and 80Virtual servers. Does than mean with one datacenter license, i can increase the number
    of Virtual processor and Virtual core as much as i like on the SCCM server without breaking Microsoft licensing Agreement?

    Hi,
    There are no license for the SCCM Server itself you license the endpoints.
    This article describes it really good,
    http://windowsitpro.com/system-center-2012/understanding-microsoft-system-center-2012-licensing
    Regards,
    Jörgen
    -- My System Center blog ccmexec.com -- Twitter
    @ccmexec

  • Which Laptop is good for VS 2012/2013 and SQL SERVER 2008 R2 /2012 ?

    Hi,
    I am planing to buy a laptop.
    I am gonna be using mostly for Visual sStudio 2013 and Sql Server 2012 .
    my budget is $1000.
    confuse between DELL/ HP / LENOVO..!!!
    please help.

    This is only a personal taste of mine:
    I prefer to work in Virtual Machines. In fact I did set up a VM just for my programming. This has the advantage that games and other stuff are not slowed down by SQL Server Services and similiar stuff.
    This also allows me to quickly make a small virtual networks with multiple clients if I need to test some client/server stuff.
    Plus I am also a bit of an adminstrator and prefer to test stuff in VM's before I try them in the real world.
    I prefer using Virtual Box for Virtual Machines, so one thing of big importance was support for VT-X/AMD-V. Without them Virtual Box cannot run x64 guests even on a x64 host system.
    Otherwise I wanted Windows 8 (so I could finally learn to live with it/learn programming for it's UI). And of big importance was an upgrade of gaming ability (my old one had difficulty/impossibility to run most current games).
    So I bought a x64, Win8 Gaming Laptop with 8 GiB RAM (so I can run 3-6 Windows 7 hosts in paralell) and looked that the CPU supported Hardware Virtualsiation.
    Otherwise pretty much every current laptop will work. x64 OS might be prefereable, as .NET has some limitations under x32/x86 OS (like the
    2 GiB limit). Multicore (2 or more) is pretty much the state of the art (are there still any single core CPU's out there?).
    It of course needs to be a Windows (7 or 8) to support VS. New Laptops should have UEFI (all that are sold with Windows 8 have).
    If you do not need a lot of storage, using a SSD instead of a HDD will propably speed up startups (Windows, Programms) and compilation times a lot (those are disk-heavy operations) - but I only know that it should and heard of people who have them.
    Let's talk about MVVM: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/b1a8bf14-4acd-4d77-9df8-bdb95b02dbe2 Please mark post as helpfull and answers respectively.

  • Recovery Point creation fails because change traking has been marked inconsistent

    I have a Hyper-v Cluster that is backed up using DPM 2012 SP1, for the last week when recovery point creation attempts to run I receive the following error message.
    Change Tracking has been marked inconsistent due to one of the following reasons
    1. Unexpected shutdown of the protected server
    2. Unforeseen issue in DPM Bitmap failover during cluster failover of one or more datasources sharing the tracked volume. (ID 30501 Details: The parameter is incorrect (0x80070057))
    After this error it performs a consistency check, it completes and a backup is stored, but as soon as it does another recovery point creation it fails again with the same error.
    I have a Server 2012 R2 Hyper-v cluster with 2 virtual hosts and a quorum disk acting as the deciding vote. The backups completed for a month prior to this with no problems. No event seems to have triggered this problem it is just completely out of the blue.
    I have update roll-up 8 on DPM and have both hosts within the cluster updated. They seem to consistently fail on one virtual host and intermittently fail on the other virtual host.
    The event logs do not have any errors other than Event ID 1 VDS basic provider

    Hi,
    Lets see if cleaning up all the filter bitmaps clears up the problem.
    To get to a clean state please delete DpmFilter* files from “System Volume Information” using following steps.
    1. Open an administrative command prompt and run:
           C:\>fltmc unload DpmFilter (run on all cluster nodes)
    2) From one of the Cluster nodes, run:
           C:\>psexec -s cmd  (psexec is
    www.sysinternals.com tool used to run cmd under system account)
    3) In this new command prompt (running as system) run:
           C:\>CD C:\ClusterStorage
           C:\ClusterStorage>For /d %i in (volume*) do del /s "%i\System Volume Information\DpmFilter*"
    Note: The * includes (DPMFilterBitmap{Guid}, DPMFilterStatus, DPMFilterLog, DPMFilterTrace*)
    4) verify files are deleted by running
            “dir /s /b DpmFilter*”
            exit
    5) Then load the filter again on all nodes
           C:\>fltmc load DpmFilter (on all cluster nodes)
    6) Run DPM Consistency check against all the VM's to re-start normal protection.
    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.

  • DPM 2012 R2 unable to connect to Database after failed Update Rollup 4 Installation

    We have a DPM 2012 R2 Server with SQL Server 2012 installed locally.
    We tried to install Rollup 4 for DPM 2012 R2 (KB3009516) using Windows Update
    and it failed with error code 0x80070643. Now when we open the DPM Console
    it is totally empty (no Protection Groups, Servers, Disks, just like a fresh install).
    In the eventlog we get a lot of Errors and warnings:
    Event 941 (MSDPM)
    Unable to connect to the DPM database.  Make sure that SQL Server is running and that it is configured correctly.
    Cannot open database "DPMDB" requested by the login. The login failed.
    Event 4209 (MSDPM)
    The description for Event ID 4209 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:
    DPM Writer encountered an internal error.  Please restart the DPM Writer service, and then try the backup operation again. For additional troubleshooting information, review the application event log and the DPM Troubleshooting Guide.
    Event 107 (Report Server Windows Service (MSSQLSERVER)
    Report Server Windows Service (MSSQLSERVER) cannot connect to the report server database.
    Event 274 (SQLISService110)
    Microsoft SSIS Service:
    Registry setting specifying configuration file does not exist.
    Attempting to load default config file.
    Then there are some Errors/warnings from SQLSERVERAGENT about failed scheduled Jobs.
    I think the failed Installation changed some database Settings, so that now the DPM Console
    cant access the database anymore.
    I would be happy if someone can help me getting this Server working again!

    Our biggest problem is, that the DPM is not working any more. So there is no chance to backup the SQL Server via DPM.
    I think the main problem is that DPM have no access to the database. Every time I start the DPM Application, I get an error "verify that the DPM service is running on this computer". In the eventlog are many errors that the msdpm service was unable
    to connect to DPM Database. Another "information" is that the user 'nt authority\system' failed to open the database of dpm.
    We've tried to reinstall the DPM but its still the same problem. I suppose that is a corrupt database.
    Tomorrow I try to restore the database and hope it will be the solution of our problem.

  • DPM couldn't find valid recovery points for VM listed as having numerous recovery points when writing to tape

    I'm seeing the following events when DPM tries writing to tape:
    Log Name:      DPM Alerts
    Source:        DPM-EM
    Date:          15/02/2014 12:01:07
    Event ID:      3311
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      <backup server FQDN>
    Description:
    The back up to tape job failed for the following reason: (ID: 3311)
    Backup of Non VSS Datasource Writer on <PROD server FQDN> cannot be completed. DPM could not find a valid recovery point on disk. (ID: 30126)
    All VMs on each of the affected servers have recovery points but
    When performing disk to disk to tape backups (d2D2T), tape backups will fail if a new disk based backup is not created before the next scheduled tape backup.  DPM always makes tape backups by mounting last successful disk based recovery point. 
    This is so we don't need to transfer data over the network since that most recent data is already on the DPM server. Look to see why the disk recovery points are failing and correct that to prevent tape backups from failing.
    http://social.technet.microsoft.com/Forums/en-US/a9b80780-2a5c-43bc-8111-ee35db56f359/backup-tapes-dpm-2012?forum=dpmtapebackuprecovery
    Is this the only time that recovery points are verified? Can I do a manual verification of recovery points? I'm concerned that some of the backups I have may be corrupt. If that's the case I need a way of finding out which ones are affected and a way to
    resolve the issue. Unfortunately I've not found much,the DPM error code isn't even listed in the official documentation. http://technet.microsoft.com/en-us/library/hh859159.aspx Other threads where people have seen this issue seem to be for older versions
    of DPM (I'm using the latest 2012 R2 fully updated).

    Hi,
    I've been having some difficulty running the Powershell command, see below. I've been using this for guidance http://technet.microsoft.com/en-us/library/hh881586%28v=sc.20%29.aspx where am I going wrong here?
    $Pg = Get-DPMProtectionGroup
    -DPMServerName <dpm server name here>
    $Ds = Get-DPMDatasource
    -ProtectionGroup $Pg[1]
    New-DPMRecoveryPoint
    -Datasource $Ds
    -Disk -DiskRecoveryPointOption -WithDataIntegrityCheck
    PS C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\bin> New-DPMRecovery
    Point -Datasource $Ds -Disk -DiskRecoveryPointOption -WithDataIntegrityCheck
    New-DPMRecoveryPoint : Missing an argument for parameter
    'DiskRecoveryPointOption'. Specify a parameter of type 'Microsoft.Internal.Ente
    rpriseStorage.Dls.EngineUICommon.EngineConstants.DbEnums+CreateDiskRecoveryPoin
    tOption' and try again.
    At line:1 char:44
    + New-DPMRecoveryPoint -Datasource $Ds -Disk -DiskRecoveryPointOption
    -WithDataInt ...
    +                                           
    ~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo         
    : InvalidArgument: (:) [New-DPMRecoveryPoint], Par
       ameterBindingException
        + FullyQualifiedErrorId : MissingArgument,Microsoft.Internal.EnterpriseSto
       rage.Dls.UI.Cmdlet.ProtectionCmdLets.CreateRecoveryPoint
    PS C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\bin>

  • Old recovery points seems to not being cleaned up

    I'm running a Windows Server 2012 server with DPM 2012 SP1, acting as a secondary DPM server for a couple of primary servers. However, the last 5-6 weeks it has begun to behave very strange. Suddenly, I get a lot of "Recovery Point volume threshold
    exceeded", "DPM does not have sufficient storage space available on the recovery point volume to create new recovery Points" and "The used disk space on the computer running DPM for the recovery point volume of SQL Server 2008 database
    XXXXX\DB(servername.domain.com) has exceeded the threshold value of 90% (DPM accounts 600 MB for internal usage in addition to free space available). If you do not allocate more disk space, synchronization jobs may fail due to insufficient disk space. (ID
    3169).
    All of these alerts seem to have a common source - disk space of course, but there is currently 8 TB free in the DPM disk pool. However, I have a feeling that all of this started when we added another DPM disk to the storage pool. Could it be that DPM doesn't
    clean up expired disk data correctly any longer?
    /Amir

    Hi,
    If the pruneshadowcopiesdpm201.ps1 is not completing, hangs, or crashes, then that needs to be addressed as that will definitely cause storage usage problems.
    In the meantime you can use this powershell script to delete old recovery points to help free disk space.  It will prompt to select a datasource, then a date to delete all recovery points made before that time.
    #Author : Ruud Baars
    #Date : 11/09/2008
    #Edited : 11/15/2012 By: Wilson S.
    #edited : 11:27:2012 By: Mike J.
    # NOTE: Update script to only remove recovery points on Disk. Recovery points removed will be from the oldest one up to the date
    # entered by the user while the script is running
    #deletes all recovery points before 'now' on selected data source.
    $version="V4.7"
    $ErrorActionPreference = "silentlycontinue"
    add-pssnapin sqlservercmdletsnapin100
    Add-PSSnapin -Name Microsoft.DataProtectionManager.PowerShell
    #display RP's to delete and ask to continue.
    #Check & wait data source to be idle else removal may fail (in Mojito filter on 'intent' to see the error)
    #Fixed prune default and logfile name and some logging lines (concatenate question + answer)
    #Check dependent recovery points do not pass BEFORE date and adjust selection to not select those ($reselect)
    #--- Fixed reselect logic to keep adjusting reselect for as long as older than BEFORE date
    #--- Fixed post removal rechecking logic to match what is done so far (was still geared to old logic)
    #--- Modified to remove making RP and ask for pruning, fixed logic for removal rechecking logic
    $MB=1024*1024
    $logfile="DPMdeleteRP.LOG"
    $wait=10 #seconds
    $confirmpreference = "None"
    function Show_help
    cls
    $l="=" * 79
    write-host $l -foregroundcolor magenta
    write-host -nonewline "`t<<<" -foregroundcolor white
    write-host -nonewline " DANGEROUS :: MAY DELETE MANY RECOVERY POINTS " -foregroundcolor red
    write-host ">>>" -foregroundcolor white
    write-host $l -foregroundcolor magenta
    write-host "Version: $version" -foregroundcolor cyan
    write-host "A: User Selects data source to remove recovery points for" -foregroundcolor green
    write-host "B: User enters date / time (using 24hr clock) to Delete recovery points" -foregroundcolor green
    write-host "C: User Confirms deletion after list of recovery points to be deleted is displayed." -foregroundcolor green
    write-host "Appending to log file $logfile`n" -foregroundcolor white
    write-host "User Accepts all responsibilities by entering a data source or just pressing [Enter] " -foregroundcolor white -backgroundcolor blue
    "**********************************" >> $logfile
    "Version $version" >> $logfile
    get-date >> $logfile
    show_help
    $DPMservername=&"hostname"
    "Selected DPM server = $DPMservername" >> $logfile
    write-host "`nConnnecting to DPM server retrieving data source list...`n" -foregroundcolor green
    $pglist = @(Get-ProtectionGroup $DPMservername) # WILSON - Created PGlist as array in case we have a single protection group.
    $ds=@()
    $tapes=$null
    $count = 0
    $dscount = 0
    foreach ($count in 0..($pglist.count - 1))
    # write-host $pglist[$count].friendlyname
    $ds += @(get-datasource $pglist[$count]) # WILSON - Created DS as array in case we have a single protection group.
    # write-host $ds
    # write-host $count -foreground yellow
    if ( Get-Datasource $DPMservername -inactive) {$ds += Get-Datasource $DPMservername -inactive}
    $i=0
    write-host "Index Protection Group Computer Path"
    write-host "---------------------------------------------------------------------------------"
    foreach ($l in $ds)
    "[{0,3}] {1,-20} {2,-20} {3}" -f $i, $l.ProtectionGroupName, $l.psinfo.netbiosname, $l.logicalpath
    $i++
    $DSname=read-host "`nEnter a data source index from list above - Note co-located datasources on same replica will be effected"
    if (!$DSname)
    write-host "No datasource selected `n" -foregroundcolor yellow
    "Aborted on Datasource name" >> $logfile
    exit 0
    $DSselected=$ds[$DSname]
    if (!$DSselected)
    write-host "No datasource selected `n" -foregroundcolor yellow
    "Aborted on Datasource name" >> $logfile
    exit 0
    $rp=get-recoverypoint $DS[$dsname]
    $rp
    # $DoTape=read-host "`nDo you want to remove when recovery points are on tape ? [y/N]"
    # "Remove tape recovery point = $DoTape" >> $logfile
    write-host "`nCollecting recoverypoint information for datasource $DSselected.name" -foregroundcolor green
    if ($DSselected.ShadowCopyUsedspace -gt 0)
    while ($DSSelected.TotalRecoveryPoints -eq 0)
    { # "still 0"
    #this is on disk
    $oldShadowUsage=[math]::round($DSselected.ShadowCopyUsedspace/$MB,1)
    $line=("Total recoverypoint usage {0} MB on DISK in {1} recovery points" -f $oldShadowUsage ,$DSselected.TotalRecoveryPoints )
    $line >> $logfile
    write-host $line`n -foregroundcolor white
    #this is on tape
    #$trptot=0
    #$tp= Get-RecoveryPoint($dsselected) | where {($_.Datalocation -eq "Media")}
    #foreach ($trp in $tp) {$trptot += $trp.size }
    #if ($trptot -gt 0 )
    # $line=("Total recoverypoint usage {0} MB on TAPE in {1} recovery points" -f ($trptot/$MB) ,$DSselected.TotalRecoveryPoints )
    # $line >> $logfile
    # write-host $line`n -foregroundcolor white
    [datetime]$afterdate="1/1/1980"
    #$answer=read-host "`nDo you want to delete recovery points from the beginning [Y/n]"
    #if ($answer -eq "n" )
    # [datetime]$afterdate=read-host "Delete recovery points AFTER date [MM/DD/YYYY hh:mm]"
    [datetime]$enddate=read-host "Delete ALL Disk based recovery points BEFORE and Including date/time entered [MM/DD/YYYY hh:mm]"
    "Deleting recovery points until $enddate" >>$logfile
    write-host "Deleting recovery points until and $enddate" -foregroundcolor yellow
    $rp=get-recoverypoint $DSselected
    if ($DoTape -ne "y" )
    $RPselected=$rp | where {($_.representedpointintime -le $enddate) -and ($_.Isincremental -eq $FALSE)-and ($_.DataLocation -eq "Disk")}
    else
    $RPselected=$rp | where {($_.representedpointintime -le $enddate) -and ($_.Isincremental -eq $FALSE)}
    if (!$RPselected)
    write-host "No recovery points found!" -foregroundcolor yellow
    "No recovery points found, aborting...!" >> $logfile
    exit 0
    $reselect = $enddate
    $adjustflag = $false
    foreach ($onerp in $RPselected)
    $rtime=[string]$onerp.representedpointintime
    $rsize=[math]::round(($onerp.size/$MB),1)
    $line= "Found {0}, RP size= {1} MB (If 0 MB, co-located datasource cannot be computed), Incremental={2} "-f $rtime, $rsize,$onerp.Isincremental
    $line >> $logfile
    write-host "$line" -foregroundcolor yellow
    #Get dependent rp's for data source
    $allRPtbd=$DSselected.GetAllRecoveryPointsToBeDeleted($onerp)
    foreach ($oneDrp in $allRPtbd)
    if ($oneDrp.IsIncremental -eq $FALSE) {continue}
    $rtime=[string]$oneDrp.representedpointintime
    $rsize=[math]::round(($oneDrp.size/$MB),1)
    $line= ("`t...is dependancy for {0} size {1} `tIncremental={2}" -f $rtime, $rsize, $oneDrp.Isincremental)
    $line >> $logfile
    if ($oneDrp.representedpointintime -ge $enddate)
    #stick to latest full ($oneDrp = dependents, $onerp = full)
    $adjustflag = $true
    $reselect = $onerp.representedpointintime
    "<< Dependents newer than BEFORE date >>>" >> $logfile
    Write-Host -nonewline "`t <<< later than BEFORE date >>>" -foregroundcolor white -backgroundcolor red
    write-host "$line" -foregroundcolor yellow
    else
    #Ok, include current latest incremental
    $reselect = $oneDrp.representedpointintime
    write-host "$line" -foregroundcolor yellow
    if ($reselect -lt $oneDrp.representedpointintime)
    #we adjusted further backward than latest incremental within selection
    $reselect = $rtime
    $line = "Adjusted BEFORE date to be $reselect to include dependents to $enddate"
    $line >> $logfile
    Write-Host $line -foregroundcolor white -backgroundcolor blue
    $line="`n<<< SECOND TO LAST CHANCE TO ABORT - ONE MORE PROMPT TO CONFIRM. >>>"
    write-host $line -foregroundcolor white -backgroundcolor blue
    $line >> $logfile
    $line="Above recovery points within adjusted range will be permanently deleted !!!"
    write-host $line -foregroundcolor red
    $line >> $logfile
    $line="These RP's include dependent recovery points and may contain co-located datasource(s)"
    write-host $line -foregroundcolor red
    $line >> $logfile
    $line="Data source activity = " + $DSselected.Activity
    $line >> $logfile
    write-host $line -foregroundcolor white
    $DoDelete=""
    while (($DoDelete -ne "N" ) -and ($DoDelete -ne "Y"))
    $line="Continue with deletion (must answer) Y/N? "
    write-host $line -foregroundcolor white
    $DoDelete=read-host
    $line = $line + $DoDelete
    $line >> $logfile
    if (!$DSselected.Activity -eq "Idle")
    $line="Data source not idle, do you want to wait Y/N ? "
    write-host $line -foregroundcolor yellow
    $Y=read-host
    $line = $line + $Y
    $line >> $logfile
    if ($Y -ieq "Y")
    Write-Host "Waiting for data source to become idle..." -foregroundcolor green
    while ($DSselected.Activity -ne "Idle")
    ("Waiting {0} seconds" -f $wait) >>$logfile
    Write-Host -NoNewline "..." -ForegroundColor blue
    start-sleep -s $wait
    if ($DoDelete -eq "Y")
    foreach ($onerp in $RPselected)
    #reselect is adjusted to safe range relative to what was requested
    #--- if adjustflag not set then all up to including else only older because we must keep the full
    if ((($onerp.representedpointintime -le $reselect) -and ($adjustflag -eq $false)) -or ($onerp.representedpointintime -lt $reselect))
    $rtime=[string]$onerp.representedpointintime
    write-host `n$line -foregroundcolor red
    $line >>$logfile
    if (($onerp ) -and ($onerp.IsIncremental -eq $FALSE)) { remove-recoverypoint -RecoveryPoint $onerp -confirm:$True} # >> $logfile}
    $line =("---`nDeleting recoverypoint -> " + $rtime)
    $line >>$logfile
    "All Done!" >> $logfile
    write-host "`nAll Done!`n`n" -foregroundcolor white
    $line="Do you want to View DPMdeleteRP.LOG file Y/N ? "
    write-host $line -foregroundcolor white
    $Y=read-host
    $line = $line + $Y
    $line >> $logfile
    if ($Y -ieq "Y")
    Notepad DPMdeleteRP.LOG
    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.

  • Backup to tape failed in DPM 2012

    I am new to DPM.
    We have configured a protection group for short term goal with 7 days retention range, Synchronization frequency 6 hours. And recovery points are based on synchronization (means 4 Recovery points per day and DPM will have 28 valid restore points after a
    week...!!??). In long term goals we have configured 2 recovery goals to tape ...  1 recovery point per week on saturday (retention 4 weeks) and 1 recovery point per month (on day 1 with retention range of 1 month).
    Now Im getting PG status "backup to Tape failed" I want to know the process how DPM will check and verify recovery points on disk before writing them to tape.
    Based on my protection group settings, there should be 4 recovery points on disk everyday. but there is something different result...see the below in reply.
    My queries are:
    1) On Saturday weekly tape job, does it require DPM to have valid 28 Recovery points?? What happen if any RP missing.
    2) Due to some issues, if weekely tape backup failed on saturday. Can we resume it on monday,tuesday..with corrective actions??
    3) the DPM process of verifying disk based recovery points before writing them to tape.

    Hi,
    <New questions Snip<
    Q1) For file/volume protection, synchronization is not RP. We have to configure RP creation time manually.
    A1)  Correct, file synchronizations are not recoverable, only "recovery points" are recoverable.
    Q2) For application's (SQL,EXCH,SHAREPOINT) recovery points each synchronization job will create a RP as per synchronization frequency. 
    A2)  Yes, for applications like SQL and Exchange that support incremental backups, then incremental synchronizations are recoverable.
    Q3) If a tape backup is getting failed due to invalid RP on disk, I am creating a manual RP with Express full backup(for databases) and a RP with Incremental(for file/volume share), then resuming tape backup. Is it correct way to do this?
    A3) Yes, A manual Express full for application data or a manual recover point with synchronization for file / share data and that should allow you to manually create a new tape based backup from the alert.
    Q4)How to enable the verify option to check the integrity of the tape backup?
    A4) Simply modify the PG that has tape based protection and while on the "Select Library and tape Details" page, select the option "check backup for data integrity (time consuming operation)". 
    Q5) And what is Co-Location..!!
    A5) Tape co-location allows data from different protection groups to be written to the same tape.  You need to make a tape protection group set using the "Optimize usage" feature under the management - Libraries page of the DPM console.
    See the following TechNet pages.
    Tape Optimization Setup - Create-Modify Protection Group Set
    http://technet.microsoft.com/en-us/library/jj628037.aspx
    Tape Optimization Setup - Advanced Options
    http://technet.microsoft.com/en-us/library/jj628016.aspx
    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.

  • DPM 2012 R2 Backup job FAILED for some Hyper-v VMs and Some Hyper-v VMs are not appearing in the DPM

    DPM 2012 R2  Backup job FAILED for some Hyper-v VMs
    DPM encountered a retryable VSS error. (ID 30112 Details: VssError:The writer experienced a transient error.  If the backup process is retried,
    the error may not reoccur.
     (0x800423F3))
    All the vss Writers are in stable state
    Also Some Hyper-v VMs are not appearing in the DPM 2012 R2 Console When I try to create the Protection Group please note that they are not part of cluster.
    Host is 2012 R2 and The VM is also 2012 R2.

    Hi,
    What update rollup are you running on the DPM 2012 R2 server ?  DPM 2012 R2 UR5 introduced a new refresh feature that will re-enumerate data sources on an individual protected server.
    Check for VSS errors inside the guests that are having problems being backed up.
    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.

Maybe you are looking for