Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
197
Tıklama
0
Öne Çıkarma
Bat Dosyası ile SQL Server Veritabanları Yedekleme İşlemi
O
6 ay
Onbaşı
Konu Sahibi

Veritabanı ile çalışmanın en zorlu kısımlarından birisi de şüphesiz ki yedekleme işlemidir. Bu bölümde veritabanlarını tek tek değil de bütün bir şekilde topluca yedekleme işlemi yapacağız.
Öncelik olarak yedeklemeye dahil olacak olan veritabanlarının ekran görüntüsünü paylaşalım.

Veritabanları
< Resime gitmek için tıklayın >


Sonrasında tüm veritabanlarını yedekleyeceğimizi bildirmiştik. Bu noktada ufak bir yedekleme sql scripti yazalım

SQL Yedekleme Scripti
DECLARE @DosyaAdi VARCHAR(50)
DECLARE @Patika VARCHAR(256)
DECLARE @DosyaAdiYeni VARCHAR(256)
DECLARE @DosyaAdiEk VARCHAR(20)
SET @Patika = 'D:\yedekler\'
SELECT @DosyaAdiEk = CONVERT(VARCHAR(20), GETDATE(), 120);
SET @DosyaAdiEk = REPLACE(@DosyaAdiEk, ' ','-')
SET @DosyaAdiEk = REPLACE(@DosyaAdiEk, ':','')
DECLARE dbCursor CURSOR READ_ONLY FOR
SELECT name FROM master.sys.databases WHERE name NOT IN ('master', 'model', 'msdb', 'tempdb') AND state = 0 AND is_in_standby = 0
OPEN dbCursor
FETCH NEXT FROM dbCursor
INTO @DosyaAdi
WHILE @@FETCH_STATUS = 0
BEGIN
  SET @DosyaAdiYeni = @Patika + @DosyaAdi + '_' + @DosyaAdiEk + '.bak'
  BACKUP DATABASE @DosyaAdi TO DISK = @DosyaAdiYeni;
  FETCH NEXT FROM dbCursor
  INTO @DosyaAdi
END
CLOSE dbCursor
DEALLOCATE dbCursor

Not: Script içerisinde SET @Patika = 'D:yedekler' şeklinde nereye yedekleneceğini belirttik. Sizler onu kendi değerlerinize göre düzenleyebilirsiniz.
SQL Server Management Studio üzerinde bu scripti çalıştıralım.

Scripti Çalıştıralım
< Resime gitmek için tıklayın >


Yedekleme sonuçlarını alt kısımda bize bildirmiş oldu. Yedekleme klasörünü kontrol edelim.

Yedeklenen Veritabanları
< Resime gitmek için tıklayın >


Buraya kadar her şey iyi gitti. Sıra geldi bat dosyası ile bu scripti "SQL Server Management Studio" tarzı bir arayüze girmeden yapmaya çalışalım.
Ben sql scripti ve bat dosyasını masaüstünde çalıştıracağım için patikalar masaüstü olacak şekilde ayarlı. Bat dosyası ve sql scriptinin masaüstündeki ekran görüntülerini paylaşalım.

Bat ve SQL Dosyası
< Resime gitmek için tıklayın >

Bat dosyasının içeriğini kontrol edelim.

Bat Dosya İçeriği
< Resime gitmek için tıklayın >


İşaretli olan kısımları SQL Server bilgilerine ve yedekleme scriptinin patikasına göre dolduralım. Daha sonra bat dosyasını çalıştıralım.

Bat Dosyasını Çalıştıralım
< Resime gitmek için tıklayın >


Bat dosyasının çalışması sonrasında yedekleme klasörümüzü kontrol edelim. Yedekler oluştu mu diye.

Bat Çalışma Sonrası Yedekler
< Resime gitmek için tıklayın >

Örnek olması açısından dosyaları indirip kendi bilgilerinize göre yedekleme işlemlerini yapabilirsiniz.

Script üzerinde biraz daha detaylı çalışılarak otomatik yedekleme işlemleri yapılabilir. Mesela bat dosyasını windows zamanlanmış görevlerde çalıştırabilirsiniz. Böylece istediğniz zaman otomatik yedekleme işlemleri başlamış olacaktır.


Kaynak: https://www.ontedi.com/sql/bat-dosyasi-ile-sql-server-veritabanlari-yedekleme-islemi



T
6 ay
Binbaşı

güzel yöntem fakat bat ile sql yedekleme çok tercih edilmez. ama alınan yedekleri sıkıştırma farklı yerlere kopyalama falan yapılabilir. sql yedeklemeyi job ve plan tasks ile sql e yaptırmak daha mantıklı. ben çalıştığım şirketin veritabanlarını windows servis ile sizinki gibi sql sorguyla yapıp sonrasında rar layıp rarları harici disk ve buluta aktarım yaptırıyorum. paylaştığınız bat dosyanız böyle daha etkili olacak şekilde geliştirilebilir.



O
6 ay
Onbaşı
Konu Sahibi

Basit düzeyde bir şeyler aktarmaya çalıştık. Vakit bulursam ftpye yükleme, sıkıştırma vs.. işlemlerini de ekleyebilirim.



A
6 ay
Yarbay

Faydalı bir paylaşım olmuş, elbetteki geliştirilebilir emeğinize sağlık.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.