Log Dosyası olmadan SQL Server veri tabanı restore etme

06.01.2007

Okuyucu : 2.209
Günlük Okuyucu : 4,5

22 GB kendisi, 32 GB kadarda evlere şenlik bir log dosayası olan veritabanında integer bir alanı tinyint' e çevirmeye çalışma gafletinde bulununca bilgisayarı 3 saat kadar çalışır ancak bir şey yapmaz buldum.

Sonradan aklıma geldi, yanlış bilmiyorsam SQL Server önce tüm datayı ekstra bir geçici tabloya taşıyor ve daha sonradan güncelleme yapıyordu ve data sığmazsa onu siliyordu ya da öyle bir şey. Tabii ki manyak SQL Server' ım 2.5 milyon datada bu işi yapmaya çalışınca sapıttı. Dengesiz ben de 3 saatten sonra umudumu kesinde direk SQL Server servisini zorla kapattım.

Lakin ondan sonra tekrar SQL Server tekrar veritabanına ulaşmaya çalışınca muhtemelen Log dosyasından dolayı kaldığı yeri tekrar bulup işlemi tekrar başlatmaya çalışıyordu vs. Özetle bu işlemden sonra bir daha veritanıma ulaşamadım.

Zaten log dosyasından kurtulmak istiyorum arada kritik transaction kalmadığını biliyordum, dolayısıyla Log' u silsem data kaybım olmayacaktı. Ancak sorun şu ki normalde SQL Server sadece data dosyasını (.mdf) attach edemezsiniz log (.ldf) dosyasını da vermeniz gerekiyor.

Trying to Recover Without an .ldf isimli makaledeki koddan yola çıkarak önce eski database' imin fiziksel dosya adını değiştirdim. Çünkü SQL Server yüklemeye çalışınca kitleniyordu, ya da çoook uzun sürecek bir işleme giriyordu. Daha sonra database' i sildim.

Database' i sildikten sonra aynı isimli yeni bir database açtım ve data dosyasını aynı partition' ında bir yere kaydettim. (aynı partition olmasının esprisi 22GB tı taşıma vaktinden kurtarmak). Daha sonra makaledeki scripti çalıştırdım ve database' im tekrar çalışır hale geldi. Dataları kontrol ettim, bu sefer log dosyasının boyutunu sınırladım ve eski log dosyasını sildim.

Bu da böyle bir macera işte...

Yorumlar

RSS Bu makalenin yorumlarını RSS ile takip et!

Bu arada ayni yontem sadece log dosyasindan kurtulmak amaci ile de kullanilabilir ancak database' in ve log dosyasinin bir yedegini almayi unutmamak lazim.

Ferruh Mavituna [ # | 06.01.2007 ]

Çok güzel oldu bu. ben sevmiyorum log falan :)

ogün [ # | 07.01.2007 ]

SQL Server daki cambazlıklar bu işin en çok zevk aldığım tarafı :)

Varol [ # | 08.01.2007 ]

Bilgi için teşekkürler. Gerçekten çok işime yaradı sağolunuz....

ANKA [ # | 05.02.2007 ]

Yorum Ekle





Kullanılabilir Taglar : [<blockquote>] [<strong>] [<em>]

Log Dosyası olmadan SQL Server veri tabanı restore etme ile İlişkili Olabilecek Yazılar - Haberler

SQL Server Database Logu Temizleme
.NET ile Object Pool
SQL Injection için Kayıt İlerletme
IE7 ve Firefox Hiz Kirsalistirmasi
Danseden Tavşanlar

Diğer Yazılar

Neredeyim ?

Ferruh.Mavituna » Haberler » Log Dosyası olmadan SQL Server veri tabanı restore etme

Ferruh Mavituna
© 2002-2007, Ferruh Mavituna

Sabit IP Adresi : 81.22.99.133, SSL Erişimi, Hakkında