İçeriğe geç

windows cmd .bat ile SQL server günlük otomatik yedek almak

Bu programda Sql server ımızın otomatik yedeğini alıp, winrar ile sıkıştırıp , son haliyle uzantısını değiştireceğimiz program yapıyoruz.
en son satırda DEL komutuyla ilk başta oluşturulan .bck uzantılı dosyayı kalabalık yapmaması için silme işlemi yapıyoruz.
ayrıca bu program oluşturulan veritabanının sonunu yıl/ay/gün uzantısını eklemektedir.

Aşağıdaki
***serveradi***  = kendi server adınız
***dbkadi**** = server kullanıcı adınız
***dbsifre*** = server şifreniz
***databaseadi***= yedeklenecek veri tabanı = Örneğin : omurdb_
***yedeklemesurucusu\klasoradi\yenidenadlandirilacakdatabaseadi_*** = Örneğin : C:\yedek\omurdb_
kendinize göre düzenleyiniz.

.bat ile oluşturacağımız kodumuz :

osql -S “***serveradi***” -U “***dbkadi***” -P “***dbsifre***” -d “***databaseadi***” -q “exit(DECLARE @currentday varchar(10) set @currentday = datepart(day,getdate()) IF LEN(@currentday) = 1 BEGIN SET @currentday = ‘0’ + @currentday END DECLARE @currentmonth varchar(10) SET @currentmonth = datepart(month,getdate()) IF LEN(@currentmonth) = 1 BEGIN SET @currentmonth = ‘0’ + @currentmonth END DECLARE @currentyear varchar(10) SET @currentyear = datepart(year,getdate()) DECLARE @fileName varchar(100) SET @fileName =’***yedeklemesurucusu\klasoradi\yenidenadlandirilacakdatabaseadi_***‘ + @currentyear + ” + @currentmonth + ” + @currentday + ‘.bck’BACKUP DATABASE ***databaseadi*** TO DISK = @fileName WITH NOFORMAT, INIT, NAME = N’***databaseadi*** -Full Database Backup’, SKIP, NOREWIND, NOUNLOAD, STATS = 10)”


set filedatetime=%date%
set filedatetime=%filedatetime:~6,4%%filedatetime:~3,2%%filedatetime:~0,2%

“C:\Program Files\WinRAR\rar.exe” a ***yedeklemesurucusu\klasoradi\yenidenadlandirilacakdatabaseadi_***%filedatetime%.rar ***yedeklemesurucusu\klasoradi\yenidenadlandirilacakdatabaseadi_***%filedatetime%.bck

ren ***yedeklemesurucusu\klasoradi\yenidenadlandirilacakdatabaseadi_***%filedatetime%.rar ***databaseadi***%filedatetime%.rar_yedek

DEL ***yedeklemesurucusu\klasoradi\yenidenadlandirilacakdatabaseadi_%filedatetime%.bck

Tarih:Windows