SQL Server 2012 ile Otomatik Yedek Alma

SQL Server üzerinde bulunan birçok veritabanımızın otomatik olarak yedeğini almak isteyebiliriz. Bu işlem için SQL Server kurulumu ile gelen SQL Server Agent’tan yararlanabiliriz.

İlk önce SQL Server Management Studio’yu çalıştırıyoruz ve veritabanı sunucumuza ait bilgilerle login oluyoruz. Daha sonra Management menüsünün altında bulunan Maintenance Plans‘a sağ tıklıyoruz ve New Maintenance Plan‘a tıklıyoruz.

sql-server-backup

Eğer New Maintenance Plan’a tıkladıktan sonra “‘Agent XP’s component turned off as part of the securityconfiguration for this server.’” diye bir hata alıyorsanız SQL Server Agent servisinin kapalı olduğundan dolayı almaktasınızdır. Bu sorunun çözümü için SQL Server Configuration Manager uygulamasını çalıştırın ve sol taraftan SQL Server Services‘a tıklayın. Sağ bölmeden SQL Server Agent’a sağ tıklayın ve açılan menüden Özellikler‘e tıklayın.

sql-server-agent1

Gelen ekranın Log On sekmesinde en altta bulunan Start‘a basın ve SQL Server Agent servisinin çalışmasını sağlayın.

sql-server-agent-2

Daha sonra Service sekmesine geçin ve Start Mode özelliğini Automatic yapın. Bu sayede bilgisayarınız her başladığında otomatik olarak SQL Server Agent servisi de başlamış olacaktır.

Şimdi SQL Server Management Studio’ya geri dönelim ve New Maintenance Plan işlemini tekrar yapalım. Gelen ekranda plana bir isim verelim OK tuşuna basalım.

new-maintenance-plan

Bu işlemi yaptıktan sonra Plan ekranımız geldi. Sol tarafta Toolbox alanıdan Back Up Database Task‘ı sürükleyip sağ tarafa bırakalım.

backup-database-task

Eklediğimiz task’a iki kere tıklayarak özelliklerine ulaşalım. Aşağıdaki gibi bir ekran gelecektir.

backup-database-task-properties1

Connection bölümünden hangi veritabanı sunucusu üzerinde işlem yapmak istediğimizi seçiyoruz. Biz bağlantı kurduğumuz veritabanı sunucusu üzerinde bu işlemleri gerçekleştireceğimizden dolayı Local Server Connection‘ı seçili bırakıyoruz.

Backup Type ise Full, Differencial ve Transactional Log olmak üzere 3 tipten oluşmaktadır. Tam veritabanı yedeği alacağımızdan dolayı Full’u seçili bırakıyoruz.

Databases bölümüne tıklayınca aşağıdaki gibi bir ekran gelmektedir.

databases

Bu ekranda hangi türde veritabanlarının yedekleneceğini seçebiliyoruz. Tüm veritabanlarını yedeklemek için All databases, sistem veritabanlarını yedeklemek için System databases, tüm kullanıcı veritabanlarını yedeklemek için All user databases veya sadece belirli veritabanlarını yedeklemek için These databases‘a tıklayarak yedeklenecek veritabanlarını seçebiliyoruz.

Create backup file for every database‘i işaretliyoruz. Bu sayede veritabanı sunucusunda bulunan tüm veritabanları ayrı ayrı dosyalar halinde Folder bölümünde belirttiğimiz yerde yedeklenecektir. İsterseniz Backup file extension bölümünden yedek dosyalarının uzantılarını da değiştirebilirsiniz. Varsayılan olarak bak olarak gelmektedir. OK düğmesine basarak değişikleri kaydedelim.

Şimdi ise oluşturduğumuz task’ın otomatik olarak belirli saatte çalışmasını sağlamaya geldi. Plan bölümünde bulunan takvim ikonuna tıklıyoruz ve New Job Schedule ekranının açılması sağlıyoruz. Aşağıdaki gibi bir ekran gelecektir.

new-task-schedule

Name alanına schedule ismi verebiliriz.

Schedule type‘ı Recurring yaparak belirli bir döngü şeklinde çalışacağını belirttik.

Frequency bölümünde bulunan Occurs, Daily, Weekly ve Monthly olmak üzere üç seçenek almaktadır. Bu zamanlamanın hangi aralıklarla çalışması gerektiğini belirtir. Her gün yedek almak istediğimizden bu seçeneği Daily yapıyoruz ve Recurse every değerini ise 1 yapıyoruz. Bu sayede hergün yedek alınacaktır.

Daily Frequency altında bulunan Occurs once at ise yedeğin hangi saat, dakika ve saniye alınacağını belirtir. Buraya sunucunuzun en az kullanıldığı saati girebilirsiniz.

Duration bölümünde bulunan End date‘e bir tarih seçerseniz oluşturulan zamanlama o tarihi geçtikten sonra çalışmayacaktır. No end date‘i seçerseniz zamanlama hergün çalışacaktır.

Ayarlamaları yaptıktan sonra OK düğmesine basıp ayarları kaydedelim. Bunu yaptıktan sonra artık sunucumuz hergün otomatik olarak belirlediğimiz yere yedekleri alacaktır.