⚠️ Kritik: Veri kaybı, bir işletme için felaket demektir. Düzenli ve test edilmiş yedekleme stratejisi hayati önem taşır.
Yedekleme Türleri
Full Backup
Tüm veritabanının tam kopyası
- • En güvenli
- • En fazla alan kullanır
- • Haftalık önerilir
Differential Backup
Son full'dan sonraki değişiklikler
- • Orta güvenlik
- • Orta alan kullanımı
- • Günlük önerilir
Transaction Log
İşlem logları
- • Point-in-time recovery
- • Az alan
- • Saatlik önerilir
Önerilen Yedekleme Stratejisi
| Zaman | Yedek Türü | Saklama | Açıklama |
|---|---|---|---|
| Pazar 02:00 | Full | 4 hafta | Haftalık tam yedek |
| Her gün 23:00 | Differential | 7 gün | Günlük fark yedeği |
| Her saat | Log | 24 saat | Transaction log backup |
SQL Job: Otomatik Full Backup
-- Haftalık Full Backup Script
DECLARE @BackupPath NVARCHAR(500)
DECLARE @FileName NVARCHAR(500)
DECLARE @Date NVARCHAR(20)
SET @Date = REPLACE(REPLACE(REPLACE(
CONVERT(NVARCHAR, GETDATE(), 120), '-', ''), ':', ''), ' ', '_')
SET @BackupPath = 'D:\Backup\'
SET @FileName = @BackupPath + 'LOGODATA_FULL_' + @Date + '.bak'
BACKUP DATABASE [LOGODATA]
TO DISK = @FileName
WITH
COMPRESSION,
CHECKSUM,
STATS = 10,
NAME = N'LOGODATA Full Backup'
-- Yedek doğrulama
RESTORE VERIFYONLY FROM DISK = @FileName
SQL Job: Differential Backup
-- Günlük Differential Backup Script
DECLARE @BackupPath NVARCHAR(500)
DECLARE @FileName NVARCHAR(500)
DECLARE @Date NVARCHAR(20)
SET @Date = REPLACE(REPLACE(REPLACE(
CONVERT(NVARCHAR, GETDATE(), 120), '-', ''), ':', ''), ' ', '_')
SET @BackupPath = 'D:\Backup\'
SET @FileName = @BackupPath + 'LOGODATA_DIFF_' + @Date + '.bak'
BACKUP DATABASE [LOGODATA]
TO DISK = @FileName
WITH
DIFFERENTIAL,
COMPRESSION,
CHECKSUM,
STATS = 10
3-2-1 Yedekleme Kuralı
3 Kopya
Verinin en az 3 kopyası olmalı
2 Farklı Medya
Disk + NAS, veya Disk + Tape gibi
1 Offsite Kopya
Fiziksel olarak farklı lokasyonda (bulut dahil)
Güvenlik Ayarları
SA Hesabını Kapatın
Default SA hesabını devre dışı bırakın veya güçlü şifre ile koruyun.
Minimum Yetki Prensibi
Logo kullanıcılarına sadece gerekli yetkiler verin. db_owner yerine özel roller oluşturun.
TDE (Transparent Data Encryption)
Disk seviyesinde şifreleme için TDE aktifleştirin.
Firewall Kuralları
SQL Server portunu (1433) sadece gerekli IP'lere açın.
Eski Yedekleri Temizleme
-- 30 günden eski yedekleri sil
DECLARE @CleanupDate DATETIME
SET @CleanupDate = DATEADD(DAY, -30, GETDATE())
EXECUTE master.dbo.xp_delete_file
0, -- File type (0 = backup, 1 = log)
N'D:\Backup\', -- Folder path
N'bak', -- File extension
@CleanupDate -- Older than date
Yedek Test Kontrol Listesi
- Yedek dosyasının boyutunu kontrol edin (beklenenden küçükse sorun var)
- RESTORE VERIFYONLY komutu ile doğrulayın
- Ayda 1 test ortamına restore yapın
- Offsite kopyaların erişilebilir olduğunu test edin
- Job başarısız olursa e-posta bildirimi ayarlayın
Pro Tip
Yedek sadece test edilmiş yedektir. Test edilmemiş yedek, yedek sayılmaz. Her ay en az bir kez restore testi yapın.
Veritabanı Sağlık Kontrolü
Logo veritabanınızın yedekleme ve güvenlik durumunu ücretsiz kontrol edelim.
Ücretsiz Kontrol