A new restore method is available using backup VM, so you can restore a DB directly from VM:
BACKUPMethod=VMVSS
Data Protection for Exchange Server supports the following types of backup:
Do not set the ASNODENAME option in the dsm.opt file when you use DataProtection for Exchange Server. Setting the ASNODENAME option can cause VSS data backups and VSS restore operations to fail.
DP for Exchange facilities for DAG backups
DAGNODE is set into tdpexc.cfg
tdpexcc set DAGNODe=TSMDAG1
Command line client: TDPEXCC BACKUP SG1 FULL /TRACEFILE=trace.log /TRACEFLAG=SERVICE,API
GUI client: TDPEXC /TRACEFILE=trace.log /TRACEFLAG=SERVICE,API
tdpexcc q tsm tdpexcc q tdp tpdexcc q exchange
IMPORTANT: start the scheduler (Client acceptor if it's also associated to scheduler) to an administrator with enough right, don't leave default localsystem user in the startup of the service
As documented in the Data Protection for Exchange User's Guide:
Security requirements for Data Protection for Exchange backup and restore tasks on Exchange Server 2010
To perform backup and restore tasks on Exchange Server 2010, Data Protection for Exchange must be operating in an account with membership in the Organization Management group.
Correct, we had to change our persmissions and create a separate 'log in' for TSM. Also, for incremental backups, the 'circular logging' must be disabled on the Exchange DB server.
VSS trouble
If a user is not able to do VSS snapshot, add a key into registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\VssAccessControl
–> Add a new Dword value: Ex: mydomain\Administrator With value 1
Permissions to backup/restore self-contained application data for Exchange
http://www-01.ibm.com/support/docview.wss?uid=swg21647986
Error with VSS
If you have a locked VSS, like:
C:\Users\admin>vssadmin list writers vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool (C) Copyright 2001-2005 Microsoft Corp. Writer name: 'Task Scheduler Writer' Writer Id: {d61d61c8-d73a-4eee-8cdd-f6f9786b7124} Writer Instance Id: {1bddd48e-5052-49db-9b07-b96f96727e6b} State: [1] Stable Last error: No error Writer name: 'Microsoft Exchange Writer' Writer Id: {76fe1ac4-15f7-4bcd-987e-8e1acb462fb7} Writer Instance Id: {e0ad4b68-8938-4be5-9b88-4c74df2b2d65} State: [1] Failed Last error: Error
Stop the service : Microsoft Exchange Information Store
Check into task manager, the process will use many resources, but never stop. Wait 10 minutes.
Stop the service : Microsoft Exchange System Attendant
Wait 5 minutes, and reboot your server.
Now the command : vssadmin list writers , must have a Stable state, try a full exchange backup
TDPEXCC BACKup *|componentname1,...,componentnameN backuptype where componentname can be: A storage group name (sgname) (Exchange 2007) A database name (dbname) (Exchange 2010 or later) where backuptype can be: FULL|COPY|INCRemental|DIFFerential [/BACKUPDESTination=TSM|LOCAL|BOTH] (default: TSM) [/BACKUPMETHod=LEGACY|VSS] (LEGACY for Exchange 2007) (VSS for Exchange 2007 or later) [/CONFIGfile=tdpexc.cfg|filename] (default: tdpexc.cfg) [/DAGNODe=nodename] (Exchange 2010 or later) [/EXCLUDESG=SG1,SG2,...,SGn] (Exchange 2007) [/EXCLUDEDB=DB1,DB2,...,DBn] (Exchange 2010 or later) [/EXCLUDENONDAGDbs] (Exchange 2010 or later) [/EXCLUDEDAGACTive] (Exchange 2010 or later) [/EXCLUDEDAGPASsive] (Exchange 2010 or later) [/LOGFile=tdpexc.log|logfilename] (default: tdpexc.log) [/LOGPrune=60|n|No] (default: 60) [/MINimumbackupinterval=numberOfMinutes] (range:1...9999. Exchange 2010 or later) [/MOUNTWait=Yes|No] (default: Yes) [/OFFLOAD] [/PREFERDAGPASsive] (Exchange 2010 or later) [/Quiet] [/SKIPINTEGRITYCHECK] [/TSMNODe=nodename] [/TSMOPTFile=dsm.opt|filename] (default: dsm.opt) [/TSMPassword=password]
TDPEXCC CHANGETSMPassword [oldpw [newpw [verifypw]]] [/CONFIGfile=tdpexc.cfg|filename] (default: tdpexc.cfg) [/LOGFile=tdpexc.log|logfilename] (default: tdpexc.log) [/LOGPrune=60|n|No] (default: 60) [/TSMNODe=nodename] [/TSMOPTFile=dsm.opt|filename] (default: dsm.opt)
TDPEXCC DELete BAckup *|componentname1,...,componentnameN backuptype where componentname can be: A storage group name (sgname) (Exchange 2007) A database name (dbname) (Exchange 2010 or later) where backuptype can be: FULL|COPY|INCRemental|DIFFerential [/BACKUPDESTination=TSM|LOCAL] (default: LOCAL for FCM, or Exchange 2010 or later) [/CONFIGfile=tdpexc.cfg|filename] (default: tdpexc.cfg) [/DAGNODe=nodename] [/FROMEXCSERVer=servername] (default: local exchange server) [/LOGFile=tdpexc.log|logfilename] (default: tdpexc.log) [/LOGPrune=60|n|No] (default: 60) [/OBJect=object] (default: current active object) [/OLDerthan=days] [/Quiet] [/TSMNODe=nodename] [/TSMOPTFile=dsm.opt|filename] (default: dsm.opt) [/TSMPassword=password]
expiration from client side, example:
tdpexcc delete backup * incr /olderthan=60 /logprune=40 tdpexcc delete backup * full /olderthan=60 /logprune=40
TDPEXCC [ HELP|? [*|command [*|subcommand]] ] Valid command names: Valid subcommands: BACKup EXCHange CHANGETSMPassword TDP HELP TSM MOUNT BACKup Query RESTore RESTOREFIles SET UNMOUNT BACKup
TDPEXCC MOUNT BACKup <comp-name>[(object-id)]=<mount-points-root-dir>[,<comp-name>= <mount-points-root-dir>] <comp-name> - Exchange database name (or storage group name) <mount-points-root-dir> - Abolute path to the directory in which to expose the snapshots as mount point directories <mount-points-root-dir>\FCM-vol-<index> <object-id> - (optional) Backup object ID [/CONFIGfile=filename] (default: tdpexc.cfg) [/TSMOPTFile=filename] (default: dsm.opt) [/FROMEXCSERVer=servername] (default: <current-server>. Applicable for cluster nodes only.) [/LOGFile=filename] (default: tdpexc.log) [/LOGPrune=numdays|No] (default: <60 or config file value>) [/PITDate=date] (default: <latest>) [/PITTime=time] (default: <latest>) [/TSMNODe=nodename] (default: <value of NODENAME in the TSMOPTFILE file>) [/TSMPassword=password] (default: None) [/REMOTEComputer=computername] (default: None) [/REMOTECOMPUTERUser=user] (default: None) [/REMOTECOMPUTERPassword=passwd] (default: None) Examples: TDPEXCC MOUNT BACKup EXC-DB-1=C:\MP-dir TDPEXCC MOUNT BACKup EXC-DB-1(20120523061914)=C:\MP-dir-2
TDPEXCC Query EXCHange [/CONFIGfile=tdpexc.cfg|filename] (default: tdpexc.cfg) [/LOGFile=tdpexc.log|logfilename] (default: tdpexc.log) [/LOGPrune=60|n|No] (default: 60)
TDPEXCC Query MANAGEDCAPacity [/Detailed] [/Raw]
TDPEXCC Query POLicy <policyname>
TDPEXCC Query TDP [/CONFIGfile=tdpexc.cfg|filename] (default: tdpexc.cfg) [/LOGFile=tdpexc.log|logfilename] (default: tdpexc.log) [/LOGPrune=60|n|No] (default: 60)
TDPEXCC Query TSM [*|componentname1,...,componentnameN [backuptype]] where componentname can be: A storage group name (sgname) (Exchange 2007) A database name (dbname) (Exchange 2010 or later) where backuptype can be: FULL|COPY|INCRemental|DIFFerential|DBCopy dbname [/ACtive] [/ALl] [/CONFIGfile=tdpexc.cfg|filename] (default: tdpexc.cfg) [/DAGNODe=nodename] [/DETail] [/FROMEXCSERVer=servername] (default: local exchange server) [/LOGFile=tdpexc.log|logfilename] (default: tdpexc.log) [/LOGPrune=60|n|No] (default: 60) [/TSMNODe=nodename] [/TSMOPTFile=dsm.opt|filename] (default: dsm.opt) [/TSMPassword=password] [/REMOTEComputer=computername] (default: None) [/REMOTECOMPUTERUser=user] (default: None) [/REMOTECOMPUTERPassword=passwd] (default: None)
Example:
c:\TSM\TDPExchange> tdpexcc query tsm * /detail IBM Tivoli Storage Manager for Mail: Data Protection for Microsoft Exchange Server Version 7, Release 1, Level 0.0 (C) Copyright IBM Corporation 1998, 2013. All rights reserved. Querying Tivoli Storage Manager server for a list of database backups, please wait... Connecting to TSM Server as node ’TIVVM483_EXC’... Connecting to Local DSM Agent ’TIVVM483’... Using backup node ’DAG2’... Backup Object Information ------------------------- Exchange Server Name ..................... TIVVM483 Database Availability Group .............. DAG2 Backup Database Name ..................... RATTEST_DAGDB Backup Method ............................ VSS Backup Location .......................... Srv Backup Object Type ....................... full Mounted as ............................... Backup Object State ...................... Active Backup Creation Date / Time .............. 03/27/2013 16:11:14 Backup Compressed ........................ No Backup Encryption Type ................... None Backup Client-deduplicated ............... No Backup Supports Instant Restore .......... No Backup Object Size / Name ................ 149.07MB / 20120327161114 (From DBCopy) Backup Object Size / Name ................ 13.01MB / Logs Backup Object Size / Name ................ 136.06MB / File
TDPEXCC RESTore *|componentname1,...,componentnameN backuptype where componentname can be: A storage group name (sgname) (Exchange 2007) A database name (dbname) (Exchange 2010 or later) where backuptype can be: FULL|COPY|INCRemental|DIFFerential [/BACKUPDESTination=TSM|LOCAL] (default: TSM) [/BACKUPMETHod=LEGACY|VSS|VMVSS] (LEGACY for Exchange 2007) (VSS for Exchange 2007 or later) [/BUFFers=numbuffers] (default: 3) [/BUFFERSIze=buffersize] (default: 1024) [/CONFIGfile=tdpexc.cfg|filename] (default: tdpexc.cfg) [/DAGNODe=nodename] [/ERASEexistinglogs=Yes|No] (default: No) [/FROMEXCSERVer=servername] (default: local exchange server) [/INSTANTRestore=Yes|No] (default: Yes) [/INTOSG=sg-name] (default: NONE) (Exchange 2007) [/INTODB=db-name] (default: NONE) (Exchange 2010 or later) [/LOGFile=tdpexc.log|logfilename] (default: tdpexc.log) [/LOGPrune=60|n|No] (default: 60) [/MOUNTDAtabases=No|Yes] (default: No) [/MOUNTWait=Yes|No] (default: Yes) [/OBJect=object] (default: current active object) [/PARTial=dbname1,..,dbnameN] (default: NONE) [/Quiet] [/RECOVer=APPLYALLlogs|APPLYRESToredlogs] [/TEMPLOGRESTorepath=pathname] (default: TEMP environment var) [/TSMNODe=nodename] [/TSMOPTFile=dsm.opt|filename] (default: dsm.opt) [/TSMPassword=password]
TDPEXCC RESTOREFIles *|componentname1,...,componentnameN backuptype where componentname can be: A storage group name (sgname) (Exchange 2007) A database name (dbname) (Exchange 2010 or later) where a LEGACY backuptype can be: FULL|COPY|INCRemental|DIFFerential|DBCopy dbname where a VSS backuptype can be: FULL|COPY|INCRemental|DIFFerential [/BACKUPDESTination=TSM|LOCAL] (default: TSM) [/BACKUPMETHod=LEGACY|VSS] (LEGACY for Exchange 2007) (VSS for Exchange 2007 or later) [/BUFFers=numbuffers] (LEGACY only; default: 3) [/BUFFERSIze=buffersize] (LEGACY only; default: 1024) [/CONFIGfile=tdpexc.cfg|filename] (default: tdpexc.cfg) [/DAGNODe=nodename] [/FROMEXCSERVer=servername] (default: local exchange server) [/INTO=path] (default: current path) [/LOGFile=tdpexc.log|logfilename] (default: tdpexc.log) [/LOGPrune=60|n|No] (default: 60) [/MOUNTWait=Yes|No] (default: Yes) [/OBJect=object] (default: current active object) [/PARTial=dbname1,..,dbnameN] (default: NONE) [/Quiet] [/TSMNODe=nodename] [/TSMOPTFile=dsm.opt|filename] [/TSMPassword=password]
TDPEXCC RESTOREMailbox mailbox-name[,mailbox-name2,mailbox-name3,...] where mailbox-name can be: an alias or display name [/CLIENTACcessserver=client-access-server-name] (default: local Client Access Server) [/CONFIGfile=tdpexc.cfg|filename] (default: tdpexc.cfg) [/DAGNODe=nodename] [/LOGFile=tdpexc.log|logfilename] (default: tdpexc.log) [/LOGPrune=60|n|No] (default: 60) [/MAILBOXFilter=filter-name,filter-criteria[,filter-time-criteria]] where filtername can be: ATTACHMENTNAME|ENDDATETIME|FOLDER|MESSAGEBODY| SENDER|STARTDATETIME|SUBJECT|ALLCONTENT [/MAILBOXOriglocation=server-name,db-name] [/MAILBOXRESTOREDAte=date-stamp] [/MAILBOXRESTOREDESTination=dest[,dest-parms]] where dest can be: EXCHANGE|PST [/MAILBOXRESTORETIme=time-stamp] [/MOUNTWait=Yes|No] (default: Yes) [/Quiet] [/TEMPLOGRESTorepath=pathname] (default: TEMP environment var) [/TEMPMAILBOXAlias=alias] (default: mailbox alias of the current user) [/TEMPDBRESTorepath=pathname] (default: TEMP environment var) [/TSMNODe=nodename] [/TSMOPTFile=dsm.opt|filename] (default: dsm.opt) [/TSMPassword=password]
TDPEXCC SET PARMname=value [/CONFIGfile=tdpexc.cfg|filename] (default: tdpexc.cfg) where PARMname and default values are: BACKUPDESTination=TSM|LOCAL|BOTH BACKUPMETHod=LEGACY|VSS (LEGACY for Exchange 2007) (VSS for Exchange 2007 or later) BUFFers=3 (2..8) BUFFERSIze=1024 (64..8192) CLIENTACcessserver=servername (Exchange 2010 or later only) DATEformat= 1 MM/DD/YYYY 2 DD-MM-YYYY 3 YYYY-MM-DD 4 DD.MM.YYYY 5 YYYY.MM.DD 6 YYYY/MM/DD 7 DD/MM/YYYY LANGuage=3-letter country code ENU American English PTB Brazilian Portuguese CHS Chinese, Simplified CHT Chinese, Traditional FRA Standard French DEU Standard German ITA Standard Italian JPN Japanese KOR Korean ESP Standard Spanish LOCALDSMAGENTNODE=nodename LOGFile=tdpexc.log (filename) LOGPrune=60 (0..9999) | No MOUNTWait=Yes (Yes|No) NUMberformat= 1 n,nnn.dd 2 n,nnn,dd 3 n nnn,dd 4 n nnn.dd 5 n.nnn,dd 6 n'nnn,dd REMOTEDSMAGENTNODE=nodename RETRIES=n (where n can be from 0 to 32, Default: 4) STOREMAILBOXInfo=Yes (Yes|No) TEMPDBRestorepath=path (pathname) TEMPLOGRestorepath=path (pathname) TIMEformat= 1 HH:MM:SS 2 HH,MM,SS 3 HH.MM.SS 4 HH:MM:SSA/P
TDPEXCC UNMOUNT BACKup <mount-points-root-dir>[,<mount-points-root-dir>] <mount-points-root-dir> - Absolute path to the directory in which the snapshots were exposed as mount point directories <mount-points-root-dir>\FCM-vol-<index> [/CONFIGfile=filename] (default: tdpexc.cfg) [/TSMOPTFile=filename] (default: dsm.opt) [/LOGFile=filename] (default: tdpexc.log) [/LOGPrune=numdays|No] (default: 60) [/TSMNODe=nodename] (default: <value of NODENAME in the <TSMOPTFILE> file>) [/TSMPassword=password] (default: None) [/REMOTEComputer=computername] (default: None) [/REMOTECOMPUTERUser=user] (default: None) [/REMOTECOMPUTERPassword=passwd] (default: None) Examples: TDPEXCC UNMOUNT BACKup C:\MP-dir EXAMPLES: TDPEXCC Backup "Component 1" full TDPEXCC Query TSM
During the exchange backup, a flag is set to the value In progress (ACN6076I)
If backup failed during the progression, the flag should be checked and changed if needed:
c:\Windows\system32 > Get-MailboxDatabase -Status | ft Name,BackupInProgress Name BackupInProgress ------- -------- Db1 False Mailbox Database01 True ...
For Exchange Public Folders
c:\Windows\system32 > Get-PublicFolderDatabase -Status | ft Name,BackupInProgress Name BackupInProgress ------- -------- PFDb True ...
You need to reset the flag, using one of the following way:
The utility tdpmapi testmapi should be used first to validate proper MAPI communication.
C:\Spectrum_Protect\Tivoli\tsm\TDPExchange>tdpexcc q tsm * /all Querying IBM Spectrum Protect server for a list of database backups, please wait... Connecting to IBM Spectrum Protect Server as node 'EXCHSRV2_EXC'... Connecting to Local DSM Agent 'EXCHSRV2'... Using backup node 'EXCHSRV2_EXC'... Exchange Server : EXCHSRV2 Database : demodb1 Backup Date Size S Type Loc Object Name ------------------- ----------- - ---- --- ------------------------- 09/15/2016 10:09:00 4,789.01MB I full Srv 20160915100900 3,381.01MB Logs 1,408.00MB File 09/15/2016 10:46:51 1,421.01MB A full Srv 20160915104651 13.01MB Logs 1,408.00MB File 09/15/2016 16:58:26 104.00MB A incr Srv 20160915165826 104.00MB Logs 09/15/2016 17:00:36 26.00MB A incr Srv 20160915170036 26.00MB Logs The operation completed successfully. (rc = 0)
tdpexcc query tsm * /detail
The database restore commands would be as the follows:
TDPEXCC RESTore demodb1 -Full -BACKUPDESTINATION=TSM -FROMEXCSERVer=EXCHSRV2 -OBJect=20160915104651 -ERASEexistinglogs -INTODB=TSMRDB -MOUNTWait=Yes; TDPEXCC RESTore demodb1 -Incremental -BACKUPDESTINATION=TSM -FROMEXCSERVer=EXCHSRV2 -OBJect 20160915165826 -INTODB=TSMRDB -MOUNTWait=Yes; TDPEXCC RESTore demodb1 -Incremental -BACKUPDESTINATION=TSM -FROMEXCSERVer= EXCHSRV2 -OBJect=20160915170036 -INTODB=TSMRDB -MOUNTWait=Yes -RECOVer=APPLYRESToredlogs;