Microsoft SQL Server'da Veritabanı Shrink İşlemi Nasıl Yapılır

Abdullah
31 Temmuz 2019 Çarşamba
1

Microsoft SQL Server bir veritabanı oluşturulduğunda ilgili veritabanı dosyalarını 2 parça şeklinde tutar. Birincisi “mdf” uzantılı ana dosya ikincisi ise “ldf” uzantılı log dosyasıdır. Log dosyası belli bir zaman geçtikten sonra büyük boyutlara ulaşacaktır. Veritabanını kullananan hangi yazılım olursa olsun log dosyasını tamamen SQL Server tarafından yönetilir. Veritabanına ekleme çıkarma düzenleme gibi her türlü işlemin logunu kendi içinde barındırır. Dolayısıyla log dosyası temizlenmediği takdirde zaman zaman sunucuda disk kapasitesiyle alakalı problemler yaşanabilmektedir.

 

Log dosyası temizleme işlemi manuel olarak SQL kod bloğu ile yapılabilmektedir. Ancak gözden kaçırmak muhtemeldir. Bu yüzden MSSQL’in Agent servisibu tür işlemleri zamanlayıcıya bağlayıp otomatik yaptırmak en doğrusudur. Bu makelede Agent Job kullanarak Log dosyalarının nasıl temizleneceği anlatılacaktır

Agent Servisi Nasıl Konfigure Edilir.

Standart olarak SQL Server Agent kapalı konumdadır ilk iş agent servisi aktifleştirmektir. Agent aktifleştirildikten sonra Jobs alanında new Job denilerek yeni iş tanımı yapılmalıdır.

Name alanı doldurulup Steps sekmesinde New denilerek yani tanım yapılır.

 

Command alanına çalışacak sorgu yazılır step adı yazılıp çalışacak database seçildikten sonra scheduler sekmesinde zamanlayıcı ayarları yapılır.
Scheduler konfigürasyonu ile alakalı ayrıntılı bilgiye rahatlıklaerişilebilir.Notification alanında Job çalıştığında hata aldığında ya da başarılı bir şekilde çalıştığında bilgilendirme yapılabilir.
Email ile bilgilendirme yapacağımız için Email konfigürasyonu yapmamız gerekmektedir.

Resimde görüntülendiği gibi Database Mail sekmesine gelinir. Configure Database Mail seçeneği ile konfigürasyon penceresi açılır.

Aşağıdaki resimde görüntülenen alanlar asıl mail konfigürasyonunun yapıldığı alandır. Bu alanlar dikkatlice doldurulmalıdır

Mail konfigürasyonu yaptıktan sonra bu konfigürasyonu kullanacak bir operatör tanımlamamız lazımdır.

New Operators denilip yani operatör tanımlanır.

Operatör konfigürasyonlarını tamamladıktan sonra artık Job ile bağlantısını yapabiliriz. Tanımladığımız Job’ın notification sekmesine gelinip ne zaman hangi operatörün çalışacağını seçeriz. Artık SQL Server Agent çalıştığı sürece tanımladığımız job belirlenen aralıkta çalışacaktır.

  1. Shrink Nasıl Yapılır

 

Shrink Database içinde kullanılmayan alanları temizleyen bir servistir.Veribanı log dosyası shrink yapılacağı gibi ana dosya da yapılabilir. Biz bu örnekte sadece log dosyasını shrink yapacağız. Query penceresinde rahatça ilgili database Shrink işlemine tabi tutulabilir.Shirink işlemini başlatmadan önce yedekleme türünü Full Backup’dan Simple Backup’a çekip işlem sonunda tekrar geri alınması gerekmektedir.

ALTER DATABASE test SET RECOVERY SIMPLE
GO
DBCC SHRINKFILE (N'Demo Database NAV (6-0)_Log', 1)
GO
ALTER DATABASE test SET RECOVERY FULL

 

Demo Database NAV(6-0) Log yazan yere shrink işlemine tabi tutacağımız dosyanın logical name’ini yazmamız gerekmektedir.



yorumlar
64x64

developer

30 Ağustos 2021 Pazartesi

Gayet net ve anlaşılır bir yazı olduğunu düşünüyorum. Emeğiniz için teşekkür ederim.

Yorum yaz