Guys,
In onze opleidingsomgeving hebben we een SQL job lopen. Deze doet elke avond een backup van de database terugzetten om zo tijdens elke opleiding dezelfde data te hebben. Dit heeft uiteraard altijd keurig gewerkt totdat we qua DBA'ers omhoog kwamen te zitten. En uiteraard moest er wel een verversing van de data plaats te vinden.
Nu wordt nog steeds keurig de backup terug gezet echter stap 2 uit de job faalt. Dit is een check script.
Deze checked de datum uit een tabel en vervolgens dropped ie de tabel. Maar hoe krijg ik die tabel er nu in zodat het check script wel correcte output heeft?
Uiteraard moet ik eerst de tabel maken, check script testen daarna wederom tabel erin zetten, backup maken en dan de volledige job testen.
In onze opleidingsomgeving hebben we een SQL job lopen. Deze doet elke avond een backup van de database terugzetten om zo tijdens elke opleiding dezelfde data te hebben. Dit heeft uiteraard altijd keurig gewerkt totdat we qua DBA'ers omhoog kwamen te zitten. En uiteraard moest er wel een verversing van de data plaats te vinden.
Nu wordt nog steeds keurig de backup terug gezet echter stap 2 uit de job faalt. Dit is een check script.
Deze checked de datum uit een tabel en vervolgens dropped ie de tabel. Maar hoe krijg ik die tabel er nu in zodat het check script wel correcte output heeft?
Uiteraard moet ik eerst de tabel maken, check script testen daarna wederom tabel erin zetten, backup maken en dan de volledige job testen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| declare @cmd varchar(500)
declare @cmd2 varchar(500)
DECLARE @Thisday nvarchar(20)
Select @Thisday = Right('0' + Convert(VarChar(2), Day(GetDate())), 2)
print @Thisday
DECLARE @Thismonth nvarchar(20)
SELECT @Thismonth = DATENAME(month, GETDATE())
print @Thismonth
DECLARE @Thismonthnumber nvarchar(20)
SELECT @Thismonthnumber = Right('0' + Convert(VarChar(2), Month(GetDate())), 2)
print @Thismonthnumber
DECLARE @Thisyear nvarchar(20)
SELECT @Thisyear = DATENAME(year, GETDATE())
print @Thisyear
DECLARE @maindirectory VARCHAR(255)
SET @maindirectory = 'K:\Backup\Refresh_database\'
PRINT @maindirectory
DECLARE @Logfile VARCHAR(255)
SET @Logfile = '' + @maindirectory + @Thisday + ''+ @Thismonthnumber +'' + @Thisyear + '.log '
PRINT @Logfile
DECLARE @BackupFile VARCHAR(255)
SET @BackupFile = '' + @maindirectory + '\frismedisch1508.bak '
PRINT @BackupFile
set @cmd = 'ECHO Start check restore FrisMedisch on ' + @Thisday + ''+ @Thismonthnumber +'' + @Thisyear + ' >> '+ @Logfile + ''
exec master..xp_cmdshell @cmd;
DECLARE @checkdate char(6)
SELECT @checkdate=datum from ZVDZ_CHECK
PRINT 'Het is vandaag ' + @checkdate + ''
IF @checkdate='101012'
BEGIN
set @cmd = 'ECHO Check okee einde restore FrisMedisch on ' + @Thisday + ''+ @Thismonthnumber +'' + @Thisyear + ' >> '+ @Logfile + ''
exec master..xp_cmdshell @cmd;
DROP TABLE DETRON_CHECK
END
ELSE
BEGIN
set @cmd = 'ECHO Check fout einde restore FrisMedisch on ' + @Thisday + ''+ @Thismonthnumber +'' + @Thisyear + ' >> '+ @Logfile + ''
exec master..xp_cmdshell @cmd;
END
PRINT 'Einde Script' |
U+