Skip to content

Commit 3039429

Browse files
committed
Adicionado old backup scripts
1 parent f1f7411 commit 3039429

9 files changed

Lines changed: 825 additions & 0 deletions
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*#info
2+
3+
# Autor
4+
Rodrigo Ribeiro Gomes
5+
6+
# Detalhes
7+
Script para ter uma visão do total e tamanho de backups da semana
8+
9+
10+
*/
11+
12+
select
13+
avg(soma) as MediaSemanal
14+
from
15+
(
16+
SELECT
17+
faixas.maiorigualque miq
18+
,faixas.menorque mq
19+
,sum(bs.backup_size) Soma
20+
from
21+
(
22+
SELECT DISTINCT
23+
DATEADD(DAY,-6,cast( CONVERT(VARCHAR(10),backup_finish_date,103) AS DATETIME)) as maiorigualque
24+
,DATEADD( DAY,1,cast( CONVERT(VARCHAR(10),backup_finish_date,103) AS DATETIME)) as menorque
25+
FROM
26+
msdb..backupset
27+
WHERE
28+
DATEPART(weekday,backup_finish_date) = 1
29+
) as faixas
30+
inner join msdb..backupset bs on bs.backup_finish_date >= faixas.maiorigualque and bs.backup_finish_date < faixas.menorque
31+
group by
32+
faixas.maiorigualque
33+
,faixas.menorque
34+
35+
) as somatoria
36+
37+
38+
--order by
39+
--bs.backup_finish_date
40+
--ORDER BY
41+
-- DATEADD( DAY,1,cast( CONVERT(VARCHAR(10),backup_finish_date,103) AS DATETIME))
42+
43+
44+
45+
--ORDER BY
46+
-- YEAR(backup_finish_date)
47+
--backup_start_date
48+
--backup_finish_date
49+
--print @@datefirst
50+
--SELECT (dw, GETDATE())
51+
--SELECT DISTINCT backup_finish_date,DATEPART(weekday,backup_finish_date) FROM msdb..backupset order by backup_finish_date
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
/*#info
2+
3+
# Autor
4+
Rodrigo Ribeiro Gomes
5+
6+
# Detalhes
7+
Um dos primeiro scripts para fazer backup que eu criei
8+
9+
10+
*/
11+
12+
DECLARE
13+
@DataAgora datetime
14+
,@YMD char(8) --> YYYYMMDD
15+
,@HMS char(6) --> HHMinMinSS
16+
,@PastaDestino varchar(500)
17+
,@Comprimir bit
18+
,@Tipo char(1)
19+
,@Banco varchar(200)
20+
,@Stats int
21+
22+
SET @PastaDestino = 'C:\temp'
23+
SET @Comprimir = 1
24+
SET @Tipo = 'F'
25+
SET @Stats = 10
26+
27+
28+
IF OBJECT_ID('tempdb..#BancosBackup') IS NOT NULL
29+
DROP TABLE #BancosBackup;
30+
31+
SELECT
32+
D.name
33+
,ROW_NUMBER() OVER(ORDER BY SUM(MF.size)) as Seq
34+
INTO
35+
#BancosBackup
36+
FROM
37+
sys.databases D
38+
INNER JOIN
39+
sys.master_files MF
40+
ON MF.database_id = D.database_id
41+
where
42+
D.name not in ('tempdb','model')
43+
AND D.name not in
44+
(
45+
SELECT
46+
bs.DATABASE_NAME
47+
FROM
48+
msdb.dbo.backupset BS WITH(NOLOCK)
49+
WHERE
50+
BS.backup_finish_date >= '03/17/2012 22:00'
51+
)
52+
GROUP BY
53+
D.name
54+
55+
56+
--> Variáveis auxiliares
57+
DECLARE
58+
@NomeBanco varchar(200)
59+
,@ComandoBackup nvarchar(max)
60+
,@CaminhoArquivoBkp nvarchar(500)
61+
,@TipoBackup nvarchar(30)
62+
,@ExtensaoBackup char(3)
63+
,@NomeArquivoBkp nvarchar(500)
64+
,@TimestampIni datetime
65+
,@TimestampFim datetime
66+
,@TempoTotalMS int
67+
68+
--> Definindo a query para o cursor.
69+
DECLARE
70+
c_Backups CURSOR FORWARD_ONLY FAST_FORWARD
71+
FOR
72+
SELECT BB.name FROM #BancosBackup BB ORDER BY BB.seq
73+
;
74+
75+
OPEN c_Backups;
76+
FETCH NEXT FROM c_Backups INTO @NomeBanco;
77+
78+
SET @TipoBackup = CASE @Tipo
79+
WHEN 'I' THEN 'DIFF'
80+
WHEN 'L' THEN 'LOG'
81+
ELSE 'FULL'
82+
END
83+
84+
SET @ExtensaoBackup = CASE @TipoBackup
85+
WHEN 'LOG' THEN 'trn'
86+
ELSE 'bak'
87+
END
88+
89+
WHILE @@FETCH_STATUS = 0 BEGIN
90+
91+
--> Determinando as informacoes da data agora.
92+
SET @DataAgora = CURRENT_TIMESTAMP;
93+
SET @YMD = CONVERT(varchar(8),@DataAgora,112);
94+
SET @HMS = REPLACE(CONVERT(varchar(8),@DataAgora,114),':','');
95+
96+
97+
SET @NomeArquivoBkp = @YMD+'_'+@HMS +'$'+@NomeBanco +'$'+@TipoBackup +'.'+@ExtensaoBackup;
98+
SET @CaminhoArquivoBkp = @PastaDestino +'\'+@NomeArquivoBkp;
99+
100+
SET @ComandoBackup = '
101+
BACKUP DATABASE
102+
'+@NomeBanco+'
103+
TO
104+
DISK = '+QUOTENAME(@CaminhoArquivoBkp,'''')+'
105+
WITH
106+
STATS = '+CONVERT(varchar(3),@Stats)+'
107+
'+CASE @Comprimir WHEN 1 THEN ',COMPRESSION' ELSE '' END+'
108+
'
109+
110+
RAISERROR('--------------------------------------------------------------------',0,0) WITH NOWAIT;
111+
RAISERROR('Iniciando backup do banco %s',0,0,@NomeBanco) WITH NOWAIT;
112+
RAISERROR('%s',0,0,@ComandoBackup) WITH NOWAIT;
113+
114+
SET @TimestampInI = CURRENT_TIMESTAMP;
115+
EXEC(@ComandoBackup)
116+
SET @TimestampFim = CURRENT_TIMESTAMP;
117+
SET @TempoTotalMS = DATEDIFF(ms,@TimestampIni,@TimeStampFim)
118+
119+
RAISERROR('Tempo total em milisegundos de backup: %d',0,0,@TempoTotalMS) WITH NOWAIT;
120+
RAISERROR('--------------------------------------------------------------------',0,0) WITH NOWAIT;
121+
122+
FETCH NEXT FROM c_Backups INTO @NomeBanco;
123+
END
124+
125+
CLOSE c_Backups;
126+
DEALLOCATE c_Backups;
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*#info
2+
3+
# Autor
4+
Rodrigo Ribeiro Gomes
5+
6+
# Detalhes
7+
Uma das primeiras versões que criei para obter info de backup
8+
9+
10+
*/
11+
12+
SELECT
13+
B.Data
14+
,COUNT(B.backup_set_id)
15+
,COUNT(CASE WHEN B.type = 'D' THEN B.backup_set_id END) as QtdFull
16+
,COUNT(CASE WHEN B.type = 'I' THEN B.backup_set_id END) as QtdDiff
17+
,COUNT(CASE WHEN B.type = 'L' THEN B.backup_set_id END) as QtdLog
18+
,SUM(CASE WHEN B.type = 'D' THEN B.compressed_backup_size END)/1024/1024 as TamFull
19+
,SUM(CASE WHEN B.type = 'I' THEN B.compressed_backup_size END)/1024/1024 as TamDiff
20+
,SUM(CASE WHEN B.type = 'L' THEN B.compressed_backup_size END)/1024/1024 as TamLog
21+
FROM
22+
(
23+
SELECT
24+
--DATEADD(DD,DATEDIFF(DD,'19000101',backup_finish_date),'19000101') as Data
25+
CONVERT(date,backup_finish_date) as Data
26+
,BS.*
27+
FROM
28+
msdb.dbo.backupset BS
29+
WHERE
30+
is_copy_only = 0
31+
AND
32+
BS.backup_finish_date >= '20150201' --> Ajustar a data aqui
33+
) B
34+
GROUP BY
35+
Data
36+
ORDER BY
37+
Data
38+
39+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*#info
2+
3+
# Autor
4+
Rodrigo Ribeiro Gomes
5+
6+
# Detalhes
7+
Uma das primeiras versões que criei para obter o tamanho do último backup!
8+
9+
10+
*/
11+
SELECT
12+
*
13+
FROM
14+
(
15+
SELECT
16+
BS.database_name
17+
,BS.type
18+
,BS.backup_finish_date
19+
,BS.compressed_backup_size/1024.00/1024.00 AS TamMB
20+
,ROW_NUMBER() OVER(PARTITION BY BS.database_name,BS.type ORDER BY BS.backup_finish_date DESC) as LastRn
21+
FROM
22+
msdb.dbo.backupset BS
23+
INNER JOIN
24+
msdb.dbo.backupmediaset MS
25+
ON MS.media_set_id = BS.media_set_id
26+
AND BS.is_copy_only = 0
27+
) BL
28+
WHERE
29+
BL.LastRn = 1

0 commit comments

Comments
 (0)