MSSQL’de etkili bir veritabanı yönetimi sağlamak için kullanılan temel araçlardan biri olan “Backup ve Maintenance Plan” konusunu detaylı bir şekilde ele alacağız.

Bu yazı MSSQL veritabanlarının performansını artırmak ve veri kaybını önlemek isteyen herkes için değerli bilgiler içermektedir.

Database Mail’i configure etmek için;
Management > Database Mail > Configure Database Mail’e tıklayın.

Profil name ve Description kısmını doldurup, Add’e tıklayın.

Hangi mail servisinden mail atacaksanız, ona göre gerekli yerleri doldurun.

SMTP Accounts kısmına eklendiğini gördükten sonra ilerleyin.

Sol taraftaki Public kısmını işaretleyip ilerleyin.

Mail hesabı eklendi.

Eklenen maili default’a almazsanız mail atmayacaktır. Tekrardan Configure Database Mail’e gidin.

Manage profile security kısmından ilerleyin.

Default Profile kısmını Yes’e alın. Next diyerek ilerleyip, kaydedin.

Operatörler, SQL Server Agent tarafından yürütülen görevlerin çalışma durumu hakkında bilgi alırlar.
Başarılı bir şekilde tamamlanan görevler, operatöre bir bildirim gönderir.

Operasyonların sonuçlarıyla alakalı bildirim almak için Operatör oluşturun.
SQL Server Agent > Operators > New Operator

SQL Server Maintenance Plan, SQL Server’da veritabanı bakım görevlerini otomatize etmek için kullanılan bir araçtır. Bu planlar, veritabanlarının performansını optimize etmek, veri bütünlüğünü korumak ve yedekleme işlemlerini yönetmek gibi çeşitli bakım görevlerini içerir.

Management > Maintenance Plan > New Maintenance Plan

Bu hatanın sebebi SQL Server Agent’ının çalışmaması.

Servis kısmından SQL Server Agent’ı Start edin.

Maintenance Planımız; Önce database’lerin backupı alınır.
Backup alındıktan sonra integrity check edilir.
Databaselerin optimize edilmesi için rebuild ve reorganize taskları eklenir.
Sonrasında optimize edilen databaselerin backupı alınır.
İşlem tamamlandığında Operatöre mail gönderilir.

Back Up Database Task’a çift tıklayın.

Database kısmından All database veya istediğin databaseleri seçin.

D diskinde SQL_Backup ve SQL_Backup2 adında 2 tane klasör oluşturdum. İlk backup(orijinal) task’ı SQL_Backup klasörüne göndereceğim.
Create a sub-directory for each database kısmını işaretleyin. Databaseleri subfolder’lara ayırarak yedekler.

Check Database Integrity Task’a çift tıklayın.

“Check Database Integrity Task,” SQL Server’daki veritabanı bütünlüğünü kontrol eden bir bakım görevidir. Bozuklukları tespit eder ve düzeltir.
En başta backup için hangi databaseleri seçtiyseniz, yine onları seçin.

Rebuild Index Task’a çift tıklayın.

“Rebuild Index” görevi, SQL Server’daki indeksleri düzenleyerek performansı artırır ve disk alanını optimize eder. Bozuk veya fragmente olmuş indeksleri onararak sorgu performansını iyileştirir.
En başta backup için hangi databaseleri seçtiyseniz, yine onları seçin.

Reorganize Index Task’a çift tıklayın.

“Reorganize Index Task,” SQL Server’daki indeksleri optimize etmek için kullanılır. Bu görev, indeks fragmentasyonunu azaltarak sorgu performansını artırır. Ayrıca, disk alanını daha etkili bir şekilde kullanmaya yardımcı olur.
En başta backup için hangi databaseleri seçtiyseniz, yine onları seçin.

Back Up Database Task’a çift tıklayın.

En başta backup için hangi databaseleri seçtiyseniz, yine onları seçin.
Destination kısmına tıklayın.

Rebuild ve Reorganize ettiğim database’in backupını; D diskinde oluşturduğum SQL_Backup2 klasörüne göndereceğim.

Options kısmından isterseniz, backup’ı sıkıştırabilirsiniz.

Notify Operator Task’a çift tıklayın.

Daha önce oluşturduğunuz Operatör’ü seçin.

Maintenance Plan’ı kaydedin.

SQL Server Agent’a sağ tıklayıp Properties’e gidin.

Aşağıdaki 3 özelliği enable edin;
Enable mail profile
Include body of e-mail in notification message
Enable fail-safe operator

SQL Server Agent’a sağ tıklayıp Restart edin.

Management > Maintenance Plans kısmından oluşturduğunuz Maintenance Plan’a sağ tıklayıp Execute edin.
Execute kısmı donuk bir haldeyse SQL Server Management Studio ve SQL Server Agent’ı yeniden başlatın.

Maintenance Plan sorunsuz gerçekleşti.

D diskinde klasörler mevcut. Sırasıyla içlerine baktığınızda databaselerin sorunsuz backuplandığını göreceksiniz.

SQL_Backup klasöründe ilk orijinal database backupları mevcut.

SQL_Backup2 klasöründe Rebuild ve Reorganize edilmiş olan database backupları mevcut.