SQL Server Agent ile Otomatik Veritabanı Yedekleme

  • Ali
  • | 07 May 2025
  • | SQL

Herkese merhaba Ben Ali,

SQL Server Agent, SQL Server'ın sunduğu, zamanlanmış görevleri otomatik olarak gerçekleştirebilen güçlü bir hizmettir. Bu servis sayesinde veritabanı yedekleme, e-posta gönderme, düzenli veri aktarımı gibi birçok işlemi zamanlayarak belirli aralıklarla otomatik hale getirebiliriz.

Bu uygulamada, SQL Server Agent kullanarak belirli aralıklarla FULL (tam) ve DIFFERENTIAL (farklı yedek) yedeklemeler alacak bir yapı kuracağız. Böylece hem temel yedekleme kavramlarını hem de bu işlemlerin nasıl zamanlanacağını öğreneceğiz.

Örnek Veritabanı ve Tablo Oluşturma
CREATE DATABASE BACKUPTEST
GO

USE BACKUPTEST
GO

CREATE TABLE DATES (
  ID INT IDENTITY PRIMARY KEY,
  DATE_ DATETIME
)
Veritabanına Örnek Veri Ekleme
DECLARE @I INT
SET @I = 0

WHILE @I < 10
BEGIN
  INSERT INTO DATES (DATE_)
  VALUES (GETDATE())

  SET @I = @I + 1
END

Bu işlem sayesinde tabloya, GETDATE() fonksiyonu aracılığıyla sistem saatine göre kayıtlar eklenmiş olur.

FULL ve Differential BACKUP Scriptlerini Alma
Full Backup (Tam Yedekleme)
  • SSMS üzerinden Object Explorer’da BACKUPTEST veritabanına sağ tıklayın.
  • Tasks > Back Up seçeneğini seçin.
  • Backup Type: Full olarak ayarlayın.
  • Sol üstteki Script butonuna tıklayarak script'i alın.
Differential Backup (Farklı Yedekleme)
  • Aynı işlemleri yaparak bu kez Backup Type: Differential olarak ayarlayın.
Not: Differential backup alınabilmesi için öncesinde en az bir kez FULL backup alınmış olmalıdır.
SQL Server Agent ile Yedekleme Job'ları

SQL Server Agent aktif değilse önce servisi başlatmalısınız. Management Studio'da "SQL Server Agent" üzerine sağ tıklayıp Start seçeneğini kullanabilirsiniz.

FULL Backup Job Oluşturma
  • Object Explorer > SQL Server Agent > Jobs > Sağ Tık > New Job
General Sekmesi
  • Name: Full BACKUP
Steps Sekmesi
  • Step Name: Full Backup
  • Database: master
  • Command: (Daha önce aldığınız FULL BACKUP script'i)
Schedules Sekmesi
  • Name: Günde 4 Kez
  • Schedule Type: Recurring
  • Frequency: Daily
  • Occurs every 6 hours
DIFFERENTIAL Backup Job Oluşturma
  • Object Explorer > SQL Server Agent > Jobs > Sağ Tık > New Job
General Sekmesi
  • Name: DIFF Backup
Steps Sekmesi
  • Step Name: DIFF Backup
  • Database: master
  • Command: (Daha önce aldığınız DIFFERENTIAL BACKUP script'i)
Schedules Sekmesi
  • Name: Her Dakika
  • Schedule Type: Recurring
  • Frequency: Daily
  • Occurs every 1 minute
İlk Full Backup'ı Manuel Başlatma

Differential yedeklemelerin çalışabilmesi için öncelikle bir kez Full backup alınması gerekir. Bunun için:

  • SQL Server Agent > Jobs > Full Backup job’ına sağ tıklayın.
  • Start Job at Step seçeneği ile manuel olarak çalıştırın.
Sonuç ve Değerlendirme

Bu uygulamada temel düzeyde SQL Server Agent kullanımı ile yedekleme işlemlerini otomatik hale getirmeyi öğrendik. Bu süreç şunları kapsar:

  • SQL Server Agent kavramına giriş
  • Temel veritabanı oluşturma ve veri ekleme
  • Full ve Differential backup script'lerinin oluşturulması
  • Job planlamaları ile zamanlama yapılandırmaları
Not: Bu örnek, öğretici amaçlı olup; gerçek ortamlarda gelişmiş yedekleme stratejileri, güvenlik, yedek dosyalarının lokasyonu ve hata kontrolü gibi ek faktörler dikkate alınmalıdır.
İlginizi Çekebilir
makale görseli
SQL Server'da Yedekleme Yönetimi

SQL Server'da Yedekleme Yönetimi

Devamını Oku
makale görseli
SQL VIEW nedir

SQL'de önemli yapılardan biri olan VIEW yapısı inceliyor ve tecrübe ediyoruz.

Devamını Oku
makale görseli
SQL Server Agent İle Otomatik Görev Tanımlama Uygulaması

SQL Server Agent İle Otomatik Görev Tanımlama Uygulaması

Devamını Oku