Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Backup DB na Express verziji - skripta

[es] :: MS SQL :: Backup DB na Express verziji - skripta

[ Pregleda: 1680 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NeXuS_SO
SO

Član broj: 96840
Poruke: 103



+1 Profil

icon Backup DB na Express verziji - skripta14.08.2015. u 17:32 - pre 85 meseci
Pozdrav svim ljudima dobre volje!

Molim vas sve za pomoć - radim na MS SQL serveru, revizija 2014 - EXPRESS izdanje ... A budući da ono ne poseduje agenta gde bih podesio bekap "job" ... pronašao sam alternativno rešenje u vidu saveta sa sledećeg linka ---> MSSQL Tips

Skripte rade odlično, ali u mom slučaju problem mi pravi što SQL skripta bekapuje SVE baze koje postoje na serveru ... a ne pojedinačno ciljano samo onu koju bih odredio za bekap.

Da li bih mogao da zamolim nekog iskusnijeg od mene da prepravi sledeću skriptu da može da se definiše ime jedne ili više pojedinačnih baza za bekap sa iste instance?

Code:

DECLARE @dateString CHAR(12), @dayStr CHAR(2), @monthStr CHAR(2), @hourStr CHAR(2), @minStr CHAR(2)
--month variable
IF (SELECT LEN(CAST(MONTH(GETDATE()) AS CHAR(2))))=2
   SET @monthSTR=CAST(MONTH(GETDATE()) AS CHAR(2))
ELSE
   SET @monthSTR= '0' + CAST(MONTH(GETDATE()) AS CHAR(2))
--day variable
IF (SELECT LEN(CAST(DAY(GETDATE()) AS CHAR(2))))=2
   SET @daySTR=CAST(DAY(GETDATE()) AS CHAR(2))
ELSE
   SET @daySTR='0' + CAST(DAY(GETDATE()) AS CHAR(2))
--hour variable
IF (SELECT LEN(DATEPART(hh, GETDATE())))=2
   SET @hourStr=CAST(DATEPART(hh, GETDATE()) AS CHAR(2))
ELSE
   SET @hourStr= '0' + CAST(DATEPART(hh, GETDATE()) AS CHAR(2))
--minute variable
IF (SELECT LEN(DATEPART(mi, GETDATE())))=2
   SET @minStr=CAST(DATEPART(mi, GETDATE()) AS CHAR(2))
ELSE
   SET @minStr= '0' + CAST(DATEPART(mi, GETDATE()) AS CHAR(2))
--name variable based on time stamp
SET @dateString=CAST(YEAR(GETDATE()) AS CHAR(4)) + @monthStr + @dayStr + @hourStr + @minStr
--=================================================================
DECLARE @IDENT INT, @sql VARCHAR(1000), @DBNAME VARCHAR(200)
SELECT @IDENT=MIN(database_id) FROM SYS.DATABASES WHERE [database_id] > 0 AND NAME NOT IN ('TEMPDB')
WHILE @IDENT IS NOT NULL
BEGIN
   SELECT @DBNAME = NAME FROM SYS.DATABASES WHERE database_id = @IDENT
/*Change disk location here as required*/
   SELECT @SQL = 'BACKUP DATABASE '[email protected]+' TO DISK = ''E:\SQL_Backup\'[email protected]+'_db_' + @dateString +'.BAK'' WITH INIT'
   EXEC (@SQL)
   SELECT @IDENT=MIN(database_id) FROM SYS.DATABASES WHERE [database_id] > 0 AND database_id>@IDENT AND NAME NOT IN ('TEMPDB')
END 



Svaka sugestija je dobrodošla.
Hvala u napred!
.:NeXuS 2008:.
 
Odgovor na temu

Dusan Kondic
Programer
ZR "Parametar" Ljubovija
Ljubovija

Član broj: 49961
Poruke: 225
*.adsl-a-1.sezampro.rs.

Sajt: www.drinacoding.com


+14 Profil

icon Re: Backup DB na Express verziji - skripta14.08.2015. u 17:58 - pre 85 meseci
Najjednostavnije je da promeniš WHERE klauzulu tako da umesto
Code:
AND NAME NOT IN ('TEMPDB')

staviš
Code:
AND NAME IN ('NazivBaze1', 'NazivBaze2', ... itd.)

Gde su 'NazivBaze1', 'NazivBaze2', ... nazivi baza za koje ŽELIŠ da praviš rezervne kopije.
Napomenuću da ova izmena treba da se uradi na dva mesta.
Pozdrav
 
Odgovor na temu

NeXuS_SO
SO

Član broj: 96840
Poruke: 103



+1 Profil

icon Re: Backup DB na Express verziji - skripta14.08.2015. u 18:34 - pre 85 meseci
Hvala ti mnogo dobri čoveče Dušane!

Ne mogu da ti opišem koliko si mi pomogao ... ovo je jedan od onih problema gde imaš 95% posto rešenja pokriveno, ali onih poslednjih 5% je ključ da sve "klikne" i radi




Veliki pozdrav!
.:NeXuS 2008:.
 
Odgovor na temu

Dusan Kondic
Programer
ZR "Parametar" Ljubovija
Ljubovija

Član broj: 49961
Poruke: 225
*.adsl-a-1.sezampro.rs.

Sajt: www.drinacoding.com


+14 Profil

icon Re: Backup DB na Express verziji - skripta14.08.2015. u 18:47 - pre 85 meseci
Hvala na komplimentima. :-)
Drago mi je ako sam pomogao.
Pozdrav
 
Odgovor na temu

[es] :: MS SQL :: Backup DB na Express verziji - skripta

[ Pregleda: 1680 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.