SQL Express sürümlerinde agent kullanılamadığı için direk maintenance task üzerinden SQL Backup schedule edemiyoruz bildiğiniz gibi. Eğer online SQL backup alabileceğiniz bir backup çözümünüz yok ise ; SQL query’inizi BAT dosyası üzerinden çalıştırıp istediğiniz lokasyona backup’larınızı çıkartabilir, bunu otomatize etmek için ise Windows Task Scheduler’ı kullanabilirsiniz.

1- Ilk olarak elinizde bulunması gereken şey; SQL üzerinde çalışarak backup’ları dışarı export edecek olan query’yi bulmak. Buraya tıklayarak daha önce blogumda paylaştığım scripti kullanabilirsiniz.

2- Backup ları otomatik olarak çıkartacağımız dizini belirleyelim. Ben bu örnekte backup’ları C:\Test path’i altına çıkartmak istiyorum. Yukarıdaki linke tıkladıktan sonra aldığınız query’i notepad’e yapıştırın ve backupdb.sql olarak backup lokasyonu olan C:\Test altına save as edin.

 

3- SQL scriptimizi çalıştıracak olan batch dosyasını oluşturmak için. Notepad üzerinde aşağıdaki komutu yapıştırın ve SQLCMD.exe dosyasının yolunu kullandığınız SQL versiyonuna göre düzenleyin. Save as “backup.bat” diyerek c:\Test altına kaydedin.

 

 

 

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S .\VIM_SQLEXP -i C:\test\backupdb.sql

Nasıl düzenleyebilirim;

  • SQL versiyonlarına göre sqlcmd.exe dosyasının bulunduğu path listesini aşağıda görebilirsiniz.
  • .\VIM_SQLEXP olarak belirtilen kısım SQL Instance bilgisinin girileceği yer. Eger default instance ise direk “.” olarak bırakabilirsiniz.
  • C:\test\backupdb.sql ise daha önce hazırladığım SQL query’in yolu
SQL Versions Location
SQL 2008 R2 C:\Program Files\Microsoft SQL Server\100\Tools\Binn\
SQL 2012 C:\Program Files\Microsoft SQL Server\110\Tools\Binn\
SQL 2014 C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\
SQL 2016 C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\

4- Task Scheduler’ı açarak, yeni bir task create ederek bat dosyasını çalıştırmak istediğiniz aralığı triggers altında belirledikten sonra, Actions altında New\Start Program Seçerek Program/Script altındaki kısma BAT dosyasınızın yolunu ekleyerek kaydedin.

5- Belirlediğiniz zaman aralığında schedule ettiğiniz task execute ettiğinde BAT dosyası üzerindne ilgili SQL query çalışarak backup’ları belirttiğiniz dizine çıkartıyor olacak.

 

By Faruk TERZIOGLU

Faruk TERZIOGLU - 2003 senesinden beri aktif olarak bilgi teknolojileri sektöründe çalışıyor. Uzmanlık alanları BT altyapı çözümleri ve yazılım tanımlı veri merkezi teknolojileri, Microsoft ailesi ürünleri, Açık kaynak kodlu sanallaştırma platformları ve uygulamaları olup bulut teknolojileri öncelikli ilgilendiği alanlar arasındadır. 2018 yılında Alibaba Cloud tarafından Bulut Teknolojileri Çözümleri alanında MVP, 2019 Yılında VMware tarafından vExpert ilan edilmiştir.

4 thoughts on “SQL Express Üzerinde Otomatik Backup Schedule Etme”
  1. Merhaba,
    İlk defa yukarıdaki işlemi yapıyorum , ‘ Task Scheduler’ı açarak’ demişsiniz ama nerden açacağımı bulamıyorum, yardımcı olabilir misiniz?

  2. peki yedek alınacak gün sayısı ve sonrasi eskileri silmek
    birde yedek aldıktan sonra eski yılları exclude etmek seklinde nasıl revize edebiliriz

    1. Merhabalar,

      1- task scheduler üzerinden hangi günlerde çalıştırmak isterseniz o şekilde konfigüre edilebilir, yani backup sıklılğını böyle ayarlayabilirsiniz.
      2- Backup’ları hep standard bir folder’a alıyorsunuz ayrı bir batch file o folder içerisindeki XXX tarihindne önceki dosyaları sil yada buraya taşı tarzında bir otomasyon yapılabilir

Leave a Reply

Your email address will not be published. Required fields are marked *

  • Facebook
  • X (Twitter)
  • LinkedIn
  • More Networks
Copy link