User Tools

Site Tools


tsm:tsm_tdpexchange_cmd

TDP Exchange

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:

  • Full Back up the entire database and transaction logs. If a successful integrity check and backup are obtained, the Exchange Server truncates the committed log files.
  • Incremental, Back up the transaction logs. If a successful integrity check and backup are obtained, the Exchange Server deletes the committed log files.
  • Differential Back up the transaction logs but do not delete them.
  • Copy Back up the entire database and transaction logs. Do not delete the transaction logs.

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 provides a common namespace for all backups
    • Each node authenticates separately with Spectrum Protect
    • Backup data stored in DAGNODE namespace (via Asnodeoption)
  • PREFERDAGPASSIVE parameter indicates that the backup should be taken from a passive copy unless no healthy passive copy is available
  • EXCLUDEDAGACTIVE parameter to exclude the Exchange Server databases from backup if they belong to a Database Availability Group and are an active database copy.
  • EXCLUDEDAGPASSIVE parameter to exclude the Exchange Server databases from backup if they belong to a Database Availability Group and are a passive database copy.
  • MINIMUMBACKUPINTERVAL parameter specifies the minimum amount of time before a backup of another DAG copy of the same database is allowed
  • Synchronization mechanism between DP client instances on the same DAG to ensure two nodes don’t simultaneously start a backup of the same DB

DAGNODE is set into tdpexc.cfg

tdpexcc set DAGNODe=TSMDAG1

https://it-integrator.ua/sites/default/files/imce/2_semenyuk_essentials_for_backing_up_and_restoring_custom_applications_and_databases_with_ibm_spectrum_protect.pdf

TDP Exchange debug

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 

TDP Exchange Misc

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 command

TDPEXCC 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

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

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 commands

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

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

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

TDPEXCC Query MANAGEDCAPacity
 [/Detailed]
 [/Raw]

TDPEXCC Query POLicy

TDPEXCC Query POLicy <policyname>

TDPEXCC Query TDP

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

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

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

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

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

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

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

Error, backup in progress

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
...

Solution

You need to reset the flag, using one of the following way:

  • Move your DB to another server in the Exchange cluster
  • Dismount the DB, and mount again

Test communication before restore

The utility tdpmapi testmapi should be used first to validate proper MAPI communication.

Restore DB using command line

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;
tsm/tsm_tdpexchange_cmd.txt · Last modified: 2021/11/22 16:44 by manu