EraBackup - Microsoft SQL Server Yedekleme Yetkileri Rehberi
Amaç
Bu dokümanın amacı, EraBackup kullanılarak Microsoft SQL Server veritabanlarının
yedeklenebilmesi için gerekli minimum yetkileri ve güvenlik gereksinimlerini açıklamaktır.
Doküman özellikle aşağıdaki operasyonları kapsar:
- Full Database Backup
- Differential Backup
- Transaction Log Backup
- Backup doğrulama işlemleri
- Backup metadata sorguları
- Disk veya network share üzerine yedek yazılması
EraBackup MSSQL Yedekleme Mimarisi
EraBackup, MSSQL instance'ına bağlanarak aşağıdaki işlemleri gerçekleştirir:
1. SQL Server instance keşfi
2. Database listesi toplama
3. Recovery model kontrolü
4. Backup zinciri analizi
5. Full / Diff / Log backup işlemlerinin tetiklenmesi
6. Backup metadata doğrulama
7. Backup dosyasının storage ortamına taşınması
Bu süreçte EraBackup MSSQL instance üzerinde belirli SQL yetkilerine ihtiyaç duyar.
Gerekli SQL Server Yetkileri
EraBackup MSSQL yedekleme işlemi için aşağıdaki yetkilerden biri gereklidir:
Seçenek 1 (Minimum Yetki Modeli)
- İlgili database üzerinde db_backupoperator rolü
Seçenek 2 (Önerilen Kurulum)
- sysadmin rolü
db_backupoperator rolü yalnızca backup operasyonlarını gerçekleştirebilir.
sysadmin rolü ise tüm instance üzerinde tam yetki sağlar.
Database Bazlı Yetkiler
EraBackup database seviyesinde aşağıdaki işlemleri yapabilir:
- BACKUP DATABASE
- BACKUP LOG
- Backup doğrulama
- Backup history kontrolü
Bu işlemler için aşağıdaki rol yeterlidir:
db_backupoperator
Örnek:
ALTER ROLE db_backupoperator ADD MEMBER erabackup_user
Instance Seviyesi Yetkiler
EraBackup bazı durumlarda instance seviyesinde bilgi toplar.
Örnek işlemler:
- Database discovery
- Backup zinciri kontrolü
- msdb backup history analizi
- AlwaysOn / Cluster kontrolü
Bu işlemler için aşağıdaki yetkiler gerekebilir:
VIEW SERVER STATE
VIEW ANY DATABASE
MSDB Yetkileri
EraBackup backup geçmişini analiz etmek için aşağıdaki tabloları okuyabilir:
msdb.dbo.backupset
msdb.dbo.backupmediafamily
msdb.dbo.restorehistory
Bu tablolar backup zincirinin doğruluğunu kontrol etmek için kullanılır.
Dosya Sistemi Yetkileri
SQL Server backup dosyasını yazarken SQL sorgusunu çalıştıran kullanıcı değil,
SQL Server servis hesabı dosyayı oluşturur.
Bu nedenle backup klasörü üzerinde aşağıdaki izinler verilmelidir:
Read
Write
Modify
List Folder Contents
Örnek:
D:\EraBackup\MSSQLBackups
Network Share Backup
EraBackup backup dosyalarını network share üzerine yazabilir.
Örnek path:
\\backup-storage\sql-backups
Bu durumda SQL Server servis hesabına aşağıdaki izinler verilmelidir:
Share Permission: Change / Full Control
NTFS Permission: Modify
Minimum Yetki Modeli (Önerilen)
Güvenli kurulum için aşağıdaki model önerilir:
1. EraBackup için ayrı SQL login oluşturulur
2. Backup alınacak database'lerde db_backupoperator rolü verilir
3. SQL Server servis hesabına backup dizini yazma yetkisi verilir
Pratik Kurulum Modeli
Büyük ortamlarda kurulum kolaylığı için aşağıdaki yöntem tercih edilebilir:
1. EraBackup SQL kullanıcısına sysadmin rolü verilir
2. Backup dizin izinleri tanımlanır
3. EraBackup tüm instance üzerindeki database'leri otomatik keşfeder
Örnek SQL Komutları
SQL Login oluşturma:
CREATE LOGIN erabackup_user WITH PASSWORD = 'StrongPassword!'
Database user oluşturma:
USE MyDatabase
CREATE USER erabackup_user FOR LOGIN erabackup_user
Backup rolü verme:
ALTER ROLE db_backupoperator ADD MEMBER erabackup_user
Sysadmin verme:
ALTER SERVER ROLE sysadmin ADD MEMBER erabackup_user
Sık Karşılaşılan Hatalar
Cannot open backup device
Sebep: Backup path erişim izni yok
BACKUP DATABASE permission denied
Sebep: db_backupoperator veya sysadmin yetkisi yok
Network share yazma hatası
Sebep: SQL Server servis hesabının share izni yok
Sonuç
EraBackup ile MSSQL yedekleme işlemleri için iki ana gereksinim vardır:
SQL Yetkileri:
db_backupoperator veya sysadmin
Dosya Sistemi Yetkileri:
SQL Server servis hesabının backup dizinine yazma yetkisi
Minimum yetki prensibi açısından db_backupoperator tercih edilir.