@author: Felipe Donoso Bastias, fdonoso@cl.ibm.com fecha: 14-10-2016
Esto fue algo que se realizó un cliente de mi actual empresa para 
Realizar una recuperación en el tiempo (PTR). El cliente solicitaba 
restaurar una base de datos en particular llamada BD1 a
 un punto determinado en el tiempo (10:00 hrs del 13-09-2016). La base 
de datos en cuestión existe en un servidor llamado (PROD)  y la 
procederemos a restaurar en el equipo QA con el nombre de BD2. Los pasos llevados a cabo para realizar esto son los 
siguientes:
Tener en cuenta que el ejecutable a usar tdpsqlc quedará en la ruta: c:\progra~1\tivoli\tsm\tdpsql\
1.- Como primer paso se procede a restaurar la base de datos usando la opcion /recovery=no
 (de ese modo quedará esperando o en modo restoring para luego aplicar 
los transaction logs). Para el caso de este cliente se tuvo que ocupar 
la opción stripe en 1.
tdpsqlc restore BD1 /BackupMethod=legacy /recovery=no /strip=1 /object=20160912221502\0000686C /TSMOPTFile="C:\Program Files\Tivoli\TSM\TDPSql\dsm_restore_c030.opt" 
/TSMPassword=eyre1205 /sqlauth=sql /SQLUser=systsm /SQLPassword=xxxx
 /fromsqlserver=PROD /SqlServer=tcp:QA 
/logfile=C:\temp\restore.log /into=BD2 
/replace /mountwait=yes 
Al terminar de restaurar la base de datos esta quedará con el estado restoring lo cual está correcto (a modo ejemplo):
2.-  Luego se debe obtener el OBJECTID de los respaldos de 
logs de transaccion para poder realizar la aplicación de estos. Para 
obtener el objectid desde la consola de TSM se ejecuta la siguiente 
consulta con los siguientes filtros:
tsm: TSMPREVIRED> select HL_NAME,BACKUP_DATE from backups WHERE NODE_NAME='PV1RPRSQC030_LOG' and BACKUP_DATE like '%2016-09-13%' and HL_NAME like '%\BD1\%' and BACKUP_DATE >= '2016-09-12 22:15:00.000000'
tsm: TSMPREVIRED> select HL_NAME,BACKUP_DATE from backups WHERE NODE_NAME='PV1RPRSQC030_LOG' and BACKUP_DATE like '%2016-09-13%' and HL_NAME like '%\BD1\%' and BACKUP_DATE >= '2016-09-12 22:15:00.000000'
La anterior consulta devolverá el OBJECTID el cual tiene un formato similar a esto: 20160913025623\000048EC
Recordar que dicho Object ID también se puede sacar desde 
la herramienta misma de TDP revisando la columna OBJECT ID 
correspondiente a los respaldos de logs que queramos aplicar, ejemplo:
Como dato adicional es probable que el restore de los logs 
de transacción requiera del uso de un nuevo OPT (en general cuando se ocupa tivoli para respaldar bases, se utiliza un opt distinto  para el respaldo de los transaction logs). Frente a eso es quizás necesario ejecutar lo siguiente (tomando en cuenta que el 
opt lleva por nombre C:\Users\tsm_admin\Desktop\dsm_30_logs.opt):
C:\Program Files\Tivoli\TSM\baclient>dsmc -optfile=C:\Users\tsm_admin\Desktop\dsm_30_logs.opt
3.- Luego de identificados los object id  de los respaldos 
de transactions logs se procede hacer restore de estos usando la opción log=*. Se debe indicar en el /object todos los objectid que contengan
los respaldos de logs de transaccion que necesitaremos aplicar (estos pueden ir dividos por ","). Importante aqui el uso del comando stopat para indicar a que momento se dejará la base de datos.
No olvidar ocupar la opción /recovery=yes para que deje abierta y operativa la base de datos.
los respaldos de logs de transaccion que necesitaremos aplicar (estos pueden ir dividos por ","). Importante aqui el uso del comando stopat para indicar a que momento se dejará la base de datos.
No olvidar ocupar la opción /recovery=yes para que deje abierta y operativa la base de datos.
tdpsqlc  restore BD1 recovery=yes log=* /stopat="09/13/2016 10:00:00" 
 
/object=20160913025623\000048EC,20160913035626\00005BB0,20160913045619\000040FC,20160913055720\000057FC,20160913065607\000065EC,20160913075604\00006F50,20160913085606\00006C84 
 /TSMOPTFile="C:\Users\tsm_admin\Desktop\dsm_30_logs.opt" /sqlauth=sql 
/SQLUser=systsm /SQLPassword=xxx /fromsqlserver=PROD 
/SqlServer=tcp:QA  /mountwait=yes /into=Restore_PO
Esos son  todos los pasos ya que al ejecutar el comando 
anterior la base de datos quedará operativa (sin el status RESTORING). 
Aún así si llegase a quedar dicho status en la base aún se puede 
ejecutar el siguiente comando para dejarla lista y operativa:
RESTORE DATABASE BD2 WITH RECOVERY
GO
GO
Esos son todos los pasos necesarios.
Saludos.
Para mayor información acerca de los comandos pueden 
recurrir al siguiente link: Restoring data by using the command-line 
interface http://www.ibm.com/support/knowledgecenter/SS8TDQ_7.1.6/ve.user/t_vesql_recovercli.html
