;?>

Feed Rss

SQL Server Veritabanı Log Dosyasının Küçültülmesi

07.04.2007, Makale, SQL Server, by , 7.754 views.

SQL Server üzerinde veritabanı oluşturulduğunda meydana gelen mevcut veritabanı dosyalarından biri olan ldf uzantılı log dosyasını boyutunun küçültülmesini bu makalemizde işleyeceğiz.

SQL Server üzerinde veritabanı oluşturulacağı zaman dikkat edilmesi gereken en önemli unsur veritabanın ilerde alabileceği boyuttur. Veritabanları oluşturulduğu .mdf uzantılı veri dosyası ve .ldf uzantılı transaction log dosyası oluşmaktadır.Transaction log dosyası veritabanına yapılan işlemlerin ilk olarak yazıldığı ve gerçekleşen hareketlerin(select, insert gibi) yer aldığı bir dosyadır.Veritabanı boyutunun doğru hesaplanmadığı çalışma ortamlarında bir süre sonra disk üzerinde alan sorunu yaşanabilmektedir.Bu sorunun çözümü içinse uygulanacak yöntemlerde biri de log dosyasının küçültülmesidir.

Resim-1’de sistemuzmani veritabanı için oluşmuş mdf ve ldf uzantılı dosyalar görülmektedir.

image001

Resim–1

Microsoft SQL Server 2005 yönetim aracı olan Management Studio açarak yapmamız gereken işlemlere başlayabiliriz. Resim–2

image002

Resim–2

Sunucu ile bağlantının sağlanması gereklidir. Bunun için gerekli bilgileri yazarak Connect butonuna basıyoruz. Resim–3

image003

Resim–3

Log dosyasını küçültmek istediğimiz veritabanını Detach ile ayırıyoruz. Resim–4

image004

Resim–4

Daha önceki makalemizde belirttiğimiz gibi bu işlemi yapabilmeniz için veritabanı üzerinde connection olmaması gereklidir. OK butonuna basarak veritabanın detach olmasını sağlıyoruz. Resim–5

image005

Resim–5

Veritabanının log dosyası cut (kes) komutu ile ayrı bir bölüm üzerine yapıştırılır. Eksi veritabanı log dosyası herhangi bir soruna karşın saklanmalıdır. Veritabanı sorunsuz çalışsa bile eski log dosyası yedeklendikten sonra silinmelidir. Resim-6’da eski log dosyasının E:\EskiLog path’ine yapıştırıldığı görülmektedir.

image006

Resim–6

Resim-7’de sistemuzmani veritabanın olmadığı görülmektedir. Attach ile veritabanın tekrar gelmesi ve çalıştırılması sağlanmalıdır.

image007

Resim–7

Add butonuna basarak veritabanını eklemek gerekmektedir. Resim–8

image008

Resim–8

Veritabanı eklendi ancak Resim-9’da görüldüğü gibi Log dosyasının bulanamadığını belirten yazı mesaj kısmına gelmektedir. Çünkü log dosyasını daha önce saklandığı yerden başka bir yere taşıdık.

image009

Resim–9

Log dosyası olmadığı uyarısı önemsemeyerek OK tuşuna basabiliriz. Ancak Attach işlemi tamamlanamaz ve Resim-10’da görülen hata mesajını alırız.

image010

Resim–10

Attach işlemine devam edebilmek için log dosyasını bulunduğu satırı seçer ve daha sonrada Remove tuşuna basarız. Resim–11

image011

Resim–11

Log dosyasının bulunduğu satırın gitmiş olduğu Resim-12’de görülmekte zaten bizim yapmak istediğimizde yeni bir log dosyasının oluşturulması, böylelikle o veritabanına bağlı log dosyasının küçültülmesi. OK butonuna basarak Attach işlemi tamamlanır.

image012

Resim–12

Veritabanın geldiği görülmektedir. Resim–13

image013

Resim–13

Yeni log dosyasının oluştuğunu ve çok ufak bir boyuta geldiğini görmekteyiz. Resim–14

image014

Resim–14

Yukarıda yaptığımız Detach-Attach işlemini Query Analyzer’ı kullanarak SQL komutlarının yardımıyla da yapabilmek mümkün. Bunun için yapılması gereken işlemler ise aşağıda yer almakta. İlk olarak master veritabanı seçilmeli ve yazılacak komutlar buraya yazılmalıdır.sp_detach_db ‘VeritabanınAdı’ yazılır ve komut çalıştırılır. Resim–15

image015

Resim–15

Veritabanın log dosyası daha önce yaptığımız gibi cut ile kesilerek ayrı bir yere yapıştırılır. Resim-16’da log dosyasının yapıştırıldığı yer görülmektedir.

image006

 

Resim–16

Şimdi ise yeni master veritabanına attach komutu yazılır ve işlem tamamlanır.Komutun yazılımı ise şu şekildedir sp_attach_single_file_db ‘VeritabanınAdı’ , ‘oluşacak log dosyasının yeri ve Veritabanınadı.log’ .Tekrar komut çalıştırılır ve attach işlemi tamamlanır.

image016

 

Resim–17

Oluşan yeni veritabanı log dosyası görülmekte. Ayrıca boyutu da küçülmüş bir şekilde oluşmakta. Resim–18

image017

Resim–18

Veritabanın sorunsuz bir şekilde çalıştığı Resim-19’da görülmekte.

image018

Resim–19

Log dosyasının küçültülmesi işlemi ile daha önceki zamanlarda yapılan işlemlerin kayıtları gidecektir. Ancak alan sorunu yaşayan sistem yöneticileri için bu işlemleri yapması gerekebilmektedir. Ayrıca log dosyaları başarısız sistem hareketlerinde, database daha iyi bir hale getirmek için gereken bilgileri de içerir. Bunun için Detach edilmiş eski log dosyasının yedeğinin alınmadan tamamen silinmemesini bir kez daha hatırlatmak isterim.

Bir Sonraki Makalede Görüşmek Üzere…

Ka®a

Mustafa Kara Mustafa Kara (1347 Posts)

Mustafa Kara, 1981 yılında Adana'da doğdu. Üniversite öncesi tüm öğrenimini Mersin'de tamamladı. Anadolu Üniversitesi İşletme Fakültesi mezunudur. İşletme Yüksek Lisansını (MBA) , Maltepe Üniversitesinde ve Bilgisayar Mühendisliği Yüksek Lisansını, Okan Üniversitesinde gerçekleştirmiştir. Üniversite yıllarında Anadolu Üniversitesi Bilgisayar Araştırma Uygulama Merkezi Bilgi işlem departmanında çalışma hayatına başladı. Üniversite sonrası İstanbul'da kendi iş dallarının öncü firmalarında görev aldı. Uzun yıllar boyunca BilgeAdam BTA ve Kurumsal ‘da Sistem ve Network Eğitmeni, Bölüm Başkan Yardımcısı, Kıdemli Danışman, Birim Müdür Yardımcısı ve Birim Müdürü görevlerinde bulundu. Şu an COMPAREX Türkiye'de Teknik Müdür olarak çalışmaktadır. Uzmanlık alanı olan Microsoft System Center Ürün Ailesi, Hyper-V, Exchange Server, Windows Server, EMS, OMS, Azure ve bilişim teknolojilerinin önde gelen diğer üreticileri olan Amazon Web Services, Veritas (Symantec) Backup Exec, Veeam Backup & Replication, VMware Virtualization, Cisco Routing & Switching, HP Server & Storage, EC-Council CEH ve ITIL Processes Management konularında birçok kişi ve firmaya 15.000 saatin üzerinde teknik eğitim vermiştir. Kamu ve özel sektördeki kuruluşlara projeler gerçekleştirmiş ve bu projelerin bazıları Microsoft tarafında Case Study olarak duyurulmuştur. Türkiye'nin en büyük bilişim portallarında yöneticilik, editörlük ve yazarlık yapmaktadır. Ayrıca Türkiye'nin önde gelen üniversitelerinde seminerler vermektedir. Seminer vermiş olduğu bazı üniversiteler: Boğaziçi Üniv.-Yıldız Teknik Üniv.-Marmara Üniv.-Galatasaray Üniv. -Bilgi Üniv. Bahçeşehir Üniv.- Kadir Has Üniv. –Kültür Üniv. –Yeditepe Üniv. -Arel Üniv. -Kocaeli Üniv.- Akdeniz Üniversitesidir. 2010 yılında çeşitli community'lerde yapmış olduğu çalışmalar neticesinde Microsoft tarafindan MVP ünvanına layık görülmüştür. Sahip olduğu sertifikalar: MVP, MCT, AWS SA, MCITP, MCTS, MCDBA, MCSE+S+M, MCSA+S+M, MCDST, MCP, CCDA, CCNA, HP AIS, HP APS ve CompTIA A+'dır.


Comments are closed.