SQL Server yedekleme(backup) ve geri yükleme(restore) bileşeni, SQL Server veritabanlarınızda depolanan kritik verileri korumak için temel bir koruma sağlar. SQL Server, bir veritabanı yönetim sistemi (DBMS) olduğundan, SQL Server yüklü bir sistemde birden fazla veritabanı bulunabilir. Bu veritabanları, işletmeler için önemli verileri içerir ve bu verilerin kaybedilmesi felaketle sonuçlanabilir. Bu nedenle, SQL Server’daki veritabanlarının yedeklenmesi…
SQL Server yedekleme(backup) ve geri yükleme(restore) bileşeni, SQL Server veritabanlarınızda depolanan kritik verileri korumak için temel bir koruma sağlar. SQL Server, bir veritabanı yönetim sistemi (DBMS) olduğundan, SQL Server yüklü bir sistemde birden fazla veritabanı bulunabilir. Bu veritabanları, işletmeler için önemli verileri içerir ve bu verilerin kaybedilmesi felaketle sonuçlanabilir. Bu nedenle, SQL Server’daki veritabanlarının yedeklenmesi çok önemlidir. Yıkıcı veri kaybı riskini en aza indirmek için, verilerinizde yapılan değişiklikleri düzenli olarak korumak için veritabanlarınızı yedeklemeniz gerekir.
İyi planlanmış bir yedekleme ve geri yükleme stratejisi, veritabanlarının çeşitli hatalardan kaynaklanan veri kayıplarına karşı korunmasına yardımcı olur.
Veritabanı yedeklemesi, bir veritabanının tüm verilerinin veya belirli bir kısmının başka bir depolama ortamına kopyalanmasıdır. Bu yedek kopya, veri kaybı yaşanması durumunda orijinal veritabanını geri yüklemek için kullanılabilir.
Yedekleme işlemi, veritabanının boyutuna ve yedekleme yöntemine bağlı olarak uzun sürebilir. Ancak, veritabanının yedeklenmesi önemli bir işlem olduğundan, yedekleme sıklığı ve yöntemi iyi planlanmalı ve yedek kopyaların saklanacağı bir depolama alanı belirlenmelidir.
En iyi backup planı nasıl kurulur?
Bizim için en iyi bakım planı, kurumun bakım planını destekleyebileceği şekilde backup almaktır. Kurumun bunun için yeterli disk alanı var mı? Database mimarisi ne durumda? AlwaysOn yapısı var mı? Yedekleme yapacağımız üçüncü bir disk alanı var mı? Geri dönüş senaryoları için test edilecek bir ortam var mı?… Bu gibi soruları ortamın gerekliliğini sorgulayarak bu kurulumları yapmak en sağlıklısı olacaktır.
En iyi backup planı, bu bakım planlarının kurulacağı kurumların ihtiyaçlarına ve kurumun verilerinin önem düzeyinize göre değişiklik gösterir. Ancak, genel olarak en iyi backup planının aşağıdaki özelliklere sahip olması gerekir:
1. Sık ve düzenli yedekleme: Verilerinizin önemine göre, sık ve düzenli yedeklemeler yapılmalıdır. Bu, veri kaybı durumunda kayıp verileri en aza indirir. Mesela 15 dk da bir log backup almakla 4 saatte bir log backup almak arasında oldukça büyük bir fark vardır. Herhangi bir kesinti veya felaket sonucunda 4 saate kadar olan kurguda veri kaybı kaçınılmazdır.
2. Çoklu yedekleme türü: En iyi backup planı, tam(full), diferansiyel(diff) ve günlük(log) yedekleme gibi farklı yedekleme türlerini içermelidir. Bu, yedekleme işlemlerinin hızlı ve etkili bir şekilde gerçekleştirilmesini sağlar.
Bizim için en iyi senaryo (önerebileceğimiz) haftada bir full backup, günlük diff backup ve her 15 dk da bir log backup almaktır.
Ama tabii ki kurumların kritikliğine göre veri kaybını minimalize etmek için full backupları günlük olarak da alabilir haftalık olarak da alınabilir. Mesela veri giriş çıkışlarının (I/O)yoğunluğuna göre bu backup planları değişiklik gösterebilir. haftalık 1 full, Günlük 1 diff backup almak yerine Günde 1 full ve günde 2 diff alınarak olası bir felaket durumunda yedekten dönmek, sistemsel kesinti yaşanmaması ve Yıkıcı veri kaybı riskini en aza indirmeyi, verilerinizde yapılan değişiklikleri düzenli olarak korumak adına böyle bir senaryo oluşturulabilir.
AlwaysOn’u olan ortamlarda ise backup alma önceliğini primaryden secondary makinaya vermemiz durumundaysa primary makineye gelen yük azaltılarak performans kayıpları önlenir, iş sürekliliği sağlanmış olur.
3. Güvenli depolama: Yedeklemelerinizi güvenli bir şekilde depolamanız gerekir. Depolama alanı, verilerinizin güvenliğini sağlamak için yedeklenen verilerin şifrelenmesini içermelidir.
Diğer bir önemli noktaysa, AVG’de olan ortamda backuplar alınırken mevcut makine diski haricinde üçüncü bir disk ortamına sahip olunması ,ana makinenin herhangi bir felaket sonucu kaybedilmesi durumunda yedeği hızlı ve sağlam dönebilmek için değerlidir. Bu sayede olası geri dönüş senaryolarında zaman ve süreklilik kaybının önüne geçilir.
4. Doğrulama ve test etme: En iyi backup planı, yedeklenen verilerin doğruluğunu ve bütünlüğünü düzenli olarak test eder. Çıktı parametrelerinin tutulması ve geri dönüş senaryosu oluşturulması önemlidir. Böylece, yedekleme işlemlerinin başarılı olduğundan emin olunur.
5. Yedeklemelerin saklama süresi: Yedeklemelerin saklama süresi, yedeklemelerin düzenli olarak silinmesini ve depolama alanının gereksiz şekilde doldurulmamasını sağlar. Kurumların ihtiyaçlarına göre saklama süresi 1 hafta da olabilir, bir ay da. Burada önemli olan şey bahsettiğimiz gibi disk alanlarının gereğinden fazla doldurulmamasıdır. Bu sayede hız ve performanstan kayıp yaşamamış oluruz.
Alınan yedeklerin boyutları zamanla büyüyeceği ve disk alanını dolduracağı için backupları “kompress backup” yöntemiyle tutmak, hem backup maliyeti açısından hem de hızlı backup almak açısından daha avantajlı olacaktır. (Compress backup konusuna başka bir makalede değinmiştik. İsterseniz bu linke tıklayarak okuyabilirsiniz. https://aryasoft.com.tr/2023/04/25/compressbackup/)
6. Yedekleme işlemlerinin otomatikleştirilmesi: En iyi backup planı, yedekleme işlemlerinin otomatik olarak gerçekleştirilmesini içerir. Böylece, insan hatası veya unutulma nedeniyle yedekleme işlemlerinin atlanması engellenir.
7. Sağlıklı backup geri dönüşü (restore): Doğru yedekleme stratejisi, geri yükleme işleminin daha hızlı ve daha sorunsuz bir şekilde tamamlanmasına yardımcı olabilir. Ayrıca, geri yükleme sürecinin ne kadar süreceğini önceden yapılan testlerde çıkan parametrelerden çıkarım yaparak iş sürekliliği planlamasında yardımcı olabilirsiniz.
Yukarıdaki özellikleri içeren bir backup planı kurarak verilerin güvenliği ve bütünlüğünü sağlayabilirsiniz. Ancak, verilerinizin önemi ve değişkenliği gibi faktörlere göre, backup planınızı düzenli olarak gözden geçirmeniz ve gerektiğinde güncellemeniz önemlidir.
Son olarak backuplarınızın düzenli kontrolünü sağlayabileceğiniz scripti aşağıya bırakıyorum.
SELECT
s.database_name,
s.backup_start_date,
CASE s.[type]
WHEN ‘D’ THEN ‘Full’
WHEN ‘I’ THEN ‘Differential’
WHEN ‘L’ THEN ‘Transaction Log’
END AS BackupType,
s.server_name
FROM
msdb.dbo.backupset s
INNER JOIN msdb.dbo.backupmediafamily m ON s.media_set_id = m.media_set_id
WHERE
s.backup_start_date > DATEADD(dd, -7, GETDATE())
and (s.type=’D’ OR s.type=’I’ OR s.type=’L’)
ORDER BY
backup_start_date DESC,
backup_finish_date ASC
GO
Size ve Veritabanlarınıza Yardımcı Olmak İçin Bekliyoruz!