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
-
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.
ThanksHi
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." -
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 -
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... -
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 -
ChrisHow 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, RyanHi,
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 providerHi,
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. -
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?
/AmirHi,
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
-
Can't access Aperture support forum
Hi all, not sure whether this is the right place to report a problem with the Aperture Support forum - I couldn't find anywhere to report the problem so posted here. When I try to enter it I get the following error message "Unsupported Browser detect
-
Store results into a variable...
How can I get a result I need into a variable, that I can use in a subsequent query. My initial thought was something like: select emp_id into MyVariable from emp where emp_NAME='Kevin'; select * from emp where emp_id='&MyVariable'; I'm doing this in
-
this is a macbook running 10.6.3 with a fresh install of firefox from the mozilla site == This happened == Every time Firefox opened == after the upgrade from osx 10.6.3 and 3.6.3 install of firefox
-
How to change subtotal dinamically in ALV
Hi all, I have this kind of problem. I'm using an ALV GRID for displaying a set of document with different values in the column. I have set the first column as a checkbox to allow the user to check/uncheck a single line. The problem is that I want to
-
Yes, it is charged, just to let you know. The thing is, my IPod is really messed up. Like it started a long time ago, but I thought nothing of it. It would start freezing, and skipping a lot, so I would just Restart it, then it would work perfectly f