Ir al contenido principal

Revision de ultima fecha de respaldos.

Aunque ya habia publicado un script antes, no funcionaba con las nuevas versiones de SQL Server, este nuevo script ademas de funcionar en la
s nuevas versiones, muestra diversos tipos de respaldo, como son el full, differential y el log.







/* Created by Fernando Rivas @ dbamex.blogspot.com */


--Create temporary table to hold the information.
Create table #temp_bkp_detail
(DB_Name varchar (512), 
status varchar(32),
Full_BKP varchar (64),
Diff_BKP varchar (64),
Trn_BKP varchar (64)
)


--Gather all backups information, retrieve only latest ones. 
select database_name, Type, max(backup_finish_date) as last_date into #temp_bkp
from msdb.dbo.backupset
group by database_name, type


--gather all db names but tempdb. 
insert into #temp_bkp_detail(DB_Name, status)
select name, state_desc from master.sys.databases
where name != 'tempdb'


--update backup info in details table 
update #temp_bkp_detail 
set Full_BKP = last_date 
from #temp_bkp 
where database_name = DB_NAME 
and Type = 'D'

update #temp_bkp_detail 
set Diff_BKP = last_date 
from #temp_bkp 
where database_name = DB_NAME 
and Type = 'I'

update #temp_bkp_detail 
set Trn_BKP = last_date 
from #temp_bkp 
where database_name = DB_NAME 
and Type = 'L'


select * from #temp_bkp_detail

drop table #temp_bkp_detail
drop table #temp_bkp


/* Created by Fernando Rivas @ dbamex.blogspot.com */

Comentarios

Entradas más populares de este blog

Eliminar archivelogs desde RMAN

Estos son algunos ejemplos para eliminar los archivelogs desde RMAN. Para eliminara todos los archivos expirados sin pedir confirmación. delete noprompt expired archivelog all; Para eliminar los archive logs expirados de algún folder en especifico (Pedirá confirmación antes de borrar): delete expired archivelog like '+FRA/STACK/ARCHIVELOG/2017_03_12/%'; Para eliminar archive logs basados en la fecha de creación, por ejemplo archive logs de mas de 7 dias.  (Sin confirmacion) delete archivelog until time 'sysdate - 7'; Borrar archivelogs hasta una secuencia en especifico: delete archivelog until sequence = 43; Borrar archivelogs desde una secuencia en especifico: (Usar con precaución) delete archivelog from sequence = 38; Combinándolas: delete archivelog from sequence = 38 until sequence = 47; Saludos. F.R.

Como saber que Service Pack tengo instalado en SQL Server?

Para saber que Service pack se tiene instalado en SQL Server, Hay que ejecutar el siguiente comando: SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition') Este regresa algo parecido a: 9.00.3042.00 SP2 Enterprise Edition El primer registro es la versión, el segundo es el nivel de producto (en este caso Service pack 2), y el ultimo es la edición, En este caso Enterprise. Esta es una tabla con las versiones de SQL y su respectivo Service pack. RTM SP1 SP2 SP3 SP4 SQL Server 2017 SQL Server 2016 13.0.2149.0 13.0.4001.0 SQL Server 2014 12.0.2000.8 12.0.4100.1 12.0.5000.0 SQL Server 2012 11.0.2100.60 11.0.3000.00 11.0.5058.0 11.0.6020.0 11.0.7001.0 SQL Server 2008 R2 10.50.1600.1 10.50.2500.0 10.50.4000.0 10.50.6000.34 SQL Server 2008 10.00.1600.22   10.00.2531.00 10.00.4000.00 10.00.5500.00 10.0.6000.29 SQL Server 2005 9.00.1399 9.00.2047 9.00.3042 9.00.4035 9.00.5000 SQL Serve...

Memoria utilizada por Oracle

Ocasionalmente al estar trabajando con oracle, algunos clientes pueden recibir errores de que hace falta memoria, mas sin embargo en el task manager vemos que oracle no esta usando toda la memoria que esta asignada para el proceso. Esto es por el diseño de los servidores de windows a 32 bits, que solo pueden asignar a una aplicacion alrededor de 2 GB (no recuerdo el numero exacto) y como en windows los procesos de usuarios son en realidad Threads del proceso de oracle, toda la memoria es agrupada bajo el proceso de oracle. Para ver la memoria realmente usada por oracle podemos utilizar el siguiente query. select sum(bytes)/1024/1024 Mb from (select bytes from v$sgastat union select value bytes from v$sesstat s, v$statname n where n.STATISTIC# = s.STATISTIC# and n.name = 'session pga memory' ); Este query nos regresa la memoria usada por oracle junto con todos sus procesos de usuario ( y su respectiv...