Fırat Boyan | MCT- Microsoft Certified Trainer.



Beğendiğiniz içerikleri sosyal medya üzerinden paylaşarak makalelerin daha fazla kişi tarafından görüntülenmesine yardımcı olabilirsiniz.

category KATEGORİ: MS SQL Server 2014
category Fırat Boyan category 24.01.2018 category 2

SQL Server 2014 Database (Veritabanı) Transaction Log Dosya Boyutu Küçültme-Shrink Etme


SQL Server oluşturulan Database dosyarının zaman içinde ortaya çıkan en önemli sorunlarından birisi de database (veritabanı) boyutlarının giderek artmasıdır. SQL Server üzerinde bir database (veritabanı) oluşturulduğu zaman, .mdf uzantılı bir Database dosyası ve .ldf uzantılı bir Transaction Log dosyası oluşur. Transaction Log dosyası, Database üzerinde yapılan işlemlerin ilk yazıldığı ve Select, Update, Insert vb. gerçekleşen işlemlerin yer aldığı bir dosyadır.

Database (veritabanı) dosyasının doğru bir şekilde hesaplanmadığı sistemlerde bir süre sonra server üzerinde Transaction Log dosyasının boyutu nedeniyle karşılaşacağınız disk boyutu sorunlarının çözümü için uygulanacak yöntemlerden bir tanesi, Transaction Log dosyasının küçültülmesi, transaction log shrink etme işlemidir.

Bu makalemde de sizlere; Transaction Log dosya boyutunun nasıl küçültüleceğinden, ya da tam teknik jargonu ile nasıl SQL Server database (veritabanı) shrink etme işleminin nasıl yapılacağından bahsediyor olacağım.

NOT: Bu işlemleri yapmadan önce, daha önce paylaştığım SQL Server Management Studio ile database Backup Alma işlemini yapmanızı öneririm.

1- AdventureWorks ismindeki Database'ime ait .mdf ve .ldf uzantılı dosyalar aşağıdaki gibi görülmektedir. 

sql server database log dosyası temizleme, küçültme

2- Burada yapacağımız işlem sırasında, Transaction Log dosyasını küçültüleceğimiz (shrink edeceğimiz) database (veritabanı) dosyasının SQL Server üzerinde Connected olmaMAsı, daha başka bir ifade ile Detach edilmesi gerekmektedir. Bu nedenle, SQL Server Management Studio'daki Database üzerinde sağ tıklayarak sırasıyla Tasks > Detach seçeneğine tıklıyorum.

 sql server database log dosyası temizleme, küçültme

 sql server database log dosyası temizleme, küçültme

3- Karşımıza Detach Database penceresi geliyor. Bu pencerede herhangi bir değişiklik yapmadan OK butonuna basıyorum ve Database dosyasını Detach (disconnect) ediyorum.

sql server database log dosyası temizleme, küçültme

4- SQL Server Management StudioObject ExplorerDatabases bölümünü kontrol ettğimde, database (veritabanı) dosyasının Detach (disconnect) olduğunu görüyorum.

sql server database log dosyası temizleme, küçültme

5- Eğer Transaction Log dosyası küçültme işlemini (shrink etme) başarılı bir şekilde gerçekleştirir, database de sorunsuz bir şekilde çalışırsa, bu durumda eski Transaction Log dosyası silinebilir. Bu işlemleri yapmadan önce daha önce mutlaka backup alma işlemini yapmanızı öneririm.

C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA dizini altinda bulunan Transaction Log dosyası Cut (Kes) ederek C:\DB_LOG_BACKUP dizini altına Paste (Yapıştır) etmek suretiyle Database Log Backup (Veritabanu log yedeği) alıyorum. Eski Transaction Log dosyasını da direkt olarak silmek yerine, herhangi bir sorun yaşamamak için ve Backup (Yedek) olarak tutmak için bu işlemi yapıyorum.

sql server database log dosyası temizleme, küçültme

sql server database log dosyası temizleme, küçültme

sql server database log dosyası temizleme, küçültme

6- Eski Transaction Log dosyasını Backup olarak sakladıktan sonra, database (veritabanı) dosyasını tekrar Attach (connect) etmek için SQL Server Management Studio'da Object Explorer altındaki Databases üzerinde sağ tıklayarak Attach… seçeniğini seçiyorum.

sql server database log dosyası temizleme, küçültme

7- Attach Databases penceresinde Databases to attach kısımında Add.. butonuna basıyorum.

sql server database log dosyası temizleme, küçültme

7.1- Locate Database Files penceresinde dabatase'in bulunduğu dizini göstermemiz gerekiyor. Benim database dosyam, C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA altında bulunduğu için bu dizin altından seçtim. Sizin kendi yapınızda farklı bir dizin altında bulunuyorsa, o dizin altından seçebilirsiniz. Burada .mdf uzantılı database (veritabanı) dosyamı seçerek OK butonuna basıyorum.

sql server database log dosyası temizleme, küçültme

8- Attach Databases penceresinde .mdf uzantılı Database dosyasının eklendiğini görüyorum ama .log uzantılı Transaction Log dosyasının ise, Message bölümü altında Not Found mesajını yani Tansaction Log dosyasının bulanamadığını belirten bir mesaj geldiğini görüyorum.
Bunun nedeni, Transaction Log dosyasını daha önce bulunduğu dizinden başka bir yere taşımamızdır. Transaction Log dosyasının bulanamadığı uyarısını dikkate almadan OK butonuna basıyorum.

sql server database log dosyası temizleme, küçültme

9- An error occurred when attaching the database(s). (Database Attach edilirken, bir hata ile oluştu) şeklinde bir hata mesajı alıyorum. OK butonuna basıyorum.

sql server database log dosyası temizleme, küçültme

10- Tansaction Log dosyası olmadığı için, Attach etme işlemi tamamlanmayacak. Bu nedenle işleme devam edebilmek için Transaction Log dosyasını bulunduğu satırı seçiyor, Remove butonuna basıyorum.

img-responsive CenterImage

11- Transaction Log dosyasının bulunduğu satırın silindiğini görüyoruz. Aslında bizim de yapmak istediğimiz, yeni bir Transaction Log dosyasının attach etme işlemi ile birlikte otomatik olarak oluşturulması ve bu şekilde database'e bağlı olarak çalışan Transaction Log dosya boyutunun küçültülmesi yani shrink edilmesiydi. OK butonuna basarak Attach işlemini tamamlıyorum.

sql server database log dosyası temizleme, küçültme

12- SQL Server Management Studio, Object Explorer, Databases altına AdventureWorks adındaki database'in attach edildiği görülmektedir.

sql server database log dosyası temizleme, küçültme

13- Database (veritabanı) dosyasını varsayılan dizin olan C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA dizini altında kontrol ettiğimizde, yeni Transaction Log dosyasının oluştuğunu ve boyutunun küçüldüğünü (shrink edildiğini) görüyorum.

sql server database log dosyası temizleme, küçültme

Faydalı olması dileğiyle...
 


Beğendiğiniz içerikleri facebook, twitter, g+1 veya LinkedIn üzerinden paylaşarak makalelerin daha fazla kişi tarafından görüntülenmesine yardımcı olabilirsiniz.


Her türlü görüş ve önerilerinizi aşağıdaki YORUM panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.

YAZAR HAKKINDA:

Microsoft Certified Trainer-MCT.
Microsoft Certified Solution Expert-MCSE: Cloud Platorm and Infrastructure.

Adım Fırat Boyan. Bilgi Teknolojileri Sistem ve Ağ Mühendisiyim. 1985 Alanya doğumluyum. 2008 yılından beri İstanbul'da yaşıyorum. 15 yıldır Bilişim Teknolojileri sektöründeyim.

2003 yılında lise eğitimimden sonra bir bilgisayar teknik servisinde önce stajyer, sonrasında ise teknik servis teknisyeni olarak başladığım bilişim sektörü çalışma hayatıma, üniversite eğitimimi tamamladıktan sonra, çeşitli şirketlerin bilgi işlem departmanlarında Sistem Destek Uzmanı, IT Uzmanı, IT Sistem Sorumlusu ve IT Sistem Yöneticisi olarak devam ettim ve çok çeşitli projelerde aktif rol alıp Sistem ve Network alanında ciddi deneyimler edinerek bilgime bilgi, tecrübeme tecrübe kattım.

JP. Morgan Chase Bank'ta Sistem Uzmanı ve Analisti olarak görev yapıyor, Türkiye’nin bilişim eğitimleri alanında hizmet veren Bilgi Tekolojileri Eğitim Merkezleri olan Bilge Adam’da MCT-Microsoft Certified Trainer (Microsoft Sertifikalı Eğitmen) ünvanı ile Sistem, Network ve Güvenlik eğitimleri veriyor, kurumsal firmalara Bilişim Teknolojileri Danışmanlık Hizmetleri sunuyorum.

Sertifikalarım:

MCT (Microsoft Certified Trainer)- 2016/2017 - 2017/2018 - 2018/2019
MCPS (Microsoft Certified Professional)
MCSA (Microsoft Certified Solutions Associate)- Windows Server 2012
MCSE (Microsoft Certified Solutions Expert)- Server Infrastructure
MCSE (Microsoft Certified Solutions Expert)- Cloud Platform and Infrastructure 2017
MCSE (Microsoft Certified Solutions Expert)- Messaging
MCSE (Microsoft Certified Solutions Expert)- Productivity 2017
MS (Microsoft Specialist)- Designing and Deploying Microsoft Exchange Server 2016
MCSA (Microsoft Certified Solutions Associate)- Windows Server 2016
MCSE (Microsoft Certified Solutions Expert)- Cloud Platform and Infrastructure 2018
MCSE (Microsoft Certified Solutions Expert)- Productivity 2018




comment YORUMLAR
Bu makaleye 2 yorum yapıldı.

Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.


YORUM YAZ

   
  
(yorum onay bildirimi için gereklidir, yayınlanmaz.)
  750 Karakter yazabilirsiniz.
   
Güvenlik kodunu BÜYÜK harflerle giriniz.

* Yorumlar, onaylandıktan sonra yayınlanmaktadır.




YAPILAN YORUMLAR


01-02-2018


Hakan Küçük

Çok güzel makale, çok işime yaradı. Teşekkürler Fırat hocam.


01-02-2018


Fırat Boyan

Teşekkürler Hakan. İşinine yaramasına sevindim.






BT EĞİTİM

Kurumsal eğitimler veren bir Microsoft Sertifikalı IT eğitmeniyim. IT Danışmanlık Hizmetleri verdiğim kurumlarda sürekli olarak, bilgi işlem personellerinin yaptığı işleri genelde ezbere ve neden yaptıklarını tam olarak kavrayamadan, bilmeden yaptıklarına şahit oldum. Böyle durumlarda da genelde firmalar, çalışanlarına IT eğitimleri aldırarak, daha profesyonel ve biliçli personeller istihdam etmektedirler. Sizler de kurumunuzda istihdam ettirdiğiniz bilgi işlem personellerinize IT Eğimleri aldırarak, kurumsal olarak yeni teknolojilere daha güçlü ve bilinçli geçişler yaparak ya da mevcut teknolojiler ile yapılandırılmış alt yapınızın bilgi işlem personelleriniz tarafından bilinçli ve profesyonel olarak ayakta tutmasını ve yürütmesini sağlayabilirsiniz.

Detaylar »





BT DANIŞMANLIK

Kendi bünyesinde IT departmanı isitihdam etmeyen ve bu hizmeti danışmanlık kapsamında outsource olarak alan firmalar, bilgisayar sistemlerinin bakımı ve onarımı için profesyonellerden bakım anlaşması kapsamında hizmet talep etmektedirler. Bilişim sektöründe danışmanlık önemli bir konudur. Bu nedenle, işinin ehli olmayan kişilere sisteminizi emanet edemezsiniz. Profesonel IT Uzmanı olarak; işletmelerin Kurumsal IT ihtiyaçlarına yönelik IT ekipmanlarının ve sistemlerinin kurulum,bakım ve konfigürasyonlarının yapılması hizmetlerini sunuyorum.

Detaylar »





İLETİŞİM

Taleplerinizi iletişim formu aracılığıyla direkt olarak bana iletebilirsiniz.
İletilerinize cevap verebilmem için mutlaka gerçeli bir e-posta adresi girin. Gönderdiğiniz iletiler en kısa sürede cevaplanacaktır. Girdiğiniz bilgiler asla üçüncü taraflarla paylaşılmaz. İletilerinizi iletişim formu aracılığı ile direkt olarak iletebileceğiniz gibi, kendi e-posta sunucunuzu kullanarak da mail adresime iletebilirsiniz.

İletişim Formu »