ÇözümPark

Çözümsüz Sorunuz Kalmasın.
ÇözümPark'a hoş geldiniz. Oturum Aç | Üye Ol
in ARA
Ana Sayfa Makaleler Forumlar Resimler Dosyalar Calendar Online Destek Biz Kimiz? İletişim

SQL Server

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

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

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 cozumpark veritabanı için oluşmuş mdf ve ldf uzantılı dosyalar görülmektedir.

clip_image002

Resim–1

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

clip_image004

Resim–2

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

clip_image006

Resim–3

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

clip_image008

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

clip_image010

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.

clip_image012

Resim–6

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

clip_image014

Resim–7

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

clip_image016

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.

clip_image018

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.

clip_image020

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

clip_image022

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.

clip_image024

Resim–12

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

clip_image026

Resim–13

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

clip_image028

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

clip_image030

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.

clip_image032

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.

clip_image034

Resim–17

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

clip_image036

Resim–18

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

clip_image038

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

Yayınlanış Tarihi 11 Mayıs 2008 Pazar 19:22 Yayınlayan: Mustafa KARA

Yorumlar

 

Hakan UZUNER Dediki :

Eline Sağlık hocam

Mayıs 11, 2008 22:30
 

Hatice AKGUL Dediki :

Eline Sağlık Mustafa hemşehrim ve hocam önemli bir konuda güzel bir döküm olmuş.

Ağustos 27, 2008 23:35
 

Ozy Baba Dediki :

elinize sağlık hocam

Ekim 20, 2008 14:55
Kimliksiz yorumlar seçilemez kılınmış durumdadır.

About Mustafa KARA

1981 Adana doğumluyum. Cukurovalıyım. Ortaokul yıllarında bilgisayarla başlayan sıkı arkadaşlığım,Anadolu Teknik Lisesine gitmeme ve şu anki mesleğimi secmemi sagladi.Anadolu Universitesi mezunuyum. 2001 Yılında Kamu sektorunde başlayan calışma hayatıma,ozel bir sirkette Bilgi İşlem Uzmanı olarak devam ettim.Galatasaray maclarını izlemek en buyuk zevkim.Anadolu Universitesi Bilgisayar Muhendisliği Bolumunde CNAP egitimini tamamladım.MCP,MCSA+S+M,MCSE+S+M,MCDST,MCDBA,MCTS,MCITP,MCT,CCNA,CCDA,CompTIA A+,HP APS ve HP AIS sertifikalarına sahibim.Şu an BilgeAdam BTA'de Sistem ve Network Eğitmeni olarak calışmaktayım.

Bu Kategori

Hızlı aktarma

Etiketler