logo


Welcome Guest! To enable all features please Giriş or Kayıt.

Bildirim

Icon
Error

Ayarlar
Son mesaja git Go to first unread
zamkinos  
#1 Gönderildi : 23 Kasım 2015 Pazartesi 14:17:15(UTC)
zamkinos

Sıralama: Member

Gruplar: Registered
Katılan: 23.11.2015(UTC)
Mesajlar: 14
Turkey

1 Kere Teşekkür Etti.
Merhaba, SQL Server veritabanımda her gece full yedek alıyorum. Transaction log dosyam ise büyüyor.
Transaciton Log yedeği alındığında bu dosya küçülecek sanırım.
Peki bu transaction log yedeğini acil bir durumda nasıl kullanacağım?
Ya da bu yedeği hangi sıklıkla almalıyım?

Misal; saat 07:00'a kadar veritabanımda önemli bir işlem olmuyor. Saat 02:00'da full yedeği aldım. 06:00'da yedeği yüklemem gerekirse Transaction log'a ihtiyacım var mı? Ya da transaction log yedeğine?

İyi çalışmalar.
yunusKaradag  
#2 Gönderildi : 23 Kasım 2015 Pazartesi 15:11:25(UTC)
yunusKaradag

Sıralama: Member

Gruplar: Registered
Katılan: 17.10.2014(UTC)
Mesajlar: 22
Bay
Austria
Konum: aaase

6 Mesajına Toplam 6 Kere Teşekkür Edildi.
Eğer database iniz Full recovery mode da ise belirli periyotlarda (30 dk da bir mesela) log backup alın.
Simple mode da ise log backup almanıza gerek yok Full backup işinizi görecektir.
Simple mode da log backup almadan da log dosyasını shrink edebiliriniz.


tran log backup'ı full backuplara bağımlıdır, full backupları günlük olarak saklıyorsanız log backuplarıda aynı gün için saklamanız lazım.

Log backuplar günün her hangi bir saat ve ya dakikasına databasei restore etmek için lazımdır.

Eğer şu saat şu dakika da ki data size lazım olmayacak sadace saat 2 de ki data lazım olacaksa, sadece saat 2 de full backup almak işinizi görecektir.



zamkinos  
#3 Gönderildi : 23 Kasım 2015 Pazartesi 15:18:54(UTC)
zamkinos

Sıralama: Member

Gruplar: Registered
Katılan: 23.11.2015(UTC)
Mesajlar: 14
Turkey

1 Kere Teşekkür Etti.
Originally Posted by: yunusKaradag Go to Quoted Post
Eğer database iniz Full recovery mode da ise belirli periyotlarda (30 dk da bir mesela) log backup alın.
Simple mode da ise log backup almanıza gerek yok Full backup işinizi görecektir.
Simple mode da log backup almadan da log dosyasını shrink edebiliriniz.


tran log backup'ı full backuplara bağımlıdır, full backupları günlük olarak saklıyorsanız log backuplarıda aynı gün için saklamanız lazım.

Log backuplar günün her hangi bir saat ve ya dakikasına databasei restore etmek için lazımdır.

Eğer şu saat şu dakika da ki data size lazım olmayacak sadace saat 2 de ki data lazım olacaksa, sadece saat 2 de full backup almak işinizi görecektir.





Merhaba,

- Veritabanım FULL RECOVERY modda çalışıyor.
- Günün belirli bir anına dönebilmek için aslında differential backup'ı kullanmayı düşünüyordum. Differential Backup ile Log Backup'ının farkı, artısı eksisi nedir bu durumda?
- "tran log backup'ı full backuplara bağımlıdır, full backupları günlük olarak saklıyorsanız log backuplarıda aynı gün için saklamanız lazım. " kısmını anlamadım. Ben sadece elimdeki Full yedeğimle veritabanımı tekrar restore edemez miyim? Transaction log backup'ına neden ihtiyaç duyuyorum bu durumda?
- "Eğer şu saat şu dakika da ki data size lazım olmayacak sadace saat 2 de ki data lazım olacaksa, sadece saat 2 de full backup almak işinizi görecektir." Bu durumda log dosyasının büyümesini nasıl engelleyeceğim?

Teşekkürler.

yunusKaradag  
#4 Gönderildi : 23 Kasım 2015 Pazartesi 15:38:53(UTC)
yunusKaradag

Sıralama: Member

Gruplar: Registered
Katılan: 17.10.2014(UTC)
Mesajlar: 22
Bay
Austria
Konum: aaase

6 Mesajına Toplam 6 Kere Teşekkür Edildi.
Diff backup adından anlaşılacağı gibi sadece en son full backuptan sonraki değişimleri backuplar.
Günün belirli bir saatine dönemezsin.
Günün belirli satine dönmek için log backup alman lazım.

full backup değil log backup bağlı diyorum. Yani full backup'ını kaybedersen log backuplar bir işine yaramaz full backup olmadan log backupları restore edemezsin.

Bu durumda log dosyasının büyümesini nasıl engelleyeceğim? --> Bu durumda database'i simple moda çekip, auto shrink'i enable etmen yeterli.
zamkinos  
#5 Gönderildi : 23 Kasım 2015 Pazartesi 15:54:29(UTC)
zamkinos

Sıralama: Member

Gruplar: Registered
Katılan: 23.11.2015(UTC)
Mesajlar: 14
Turkey

1 Kere Teşekkür Etti.
Originally Posted by: yunusKaradag Go to Quoted Post
Diff backup adından anlaşılacağı gibi sadece en son full backuptan sonraki değişimleri backuplar.
Günün belirli bir saatine dönemezsin.
Günün belirli satine dönmek için log backup alman lazım.

full backup değil log backup bağlı diyorum. Yani full backup'ını kaybedersen log backuplar bir işine yaramaz full backup olmadan log backupları restore edemezsin.

Bu durumda log dosyasının büyümesini nasıl engelleyeceğim? --> Bu durumda database'i simple moda çekip, auto shrink'i enable etmen yeterli.


Sorumu şöyle sorayım:
- Her gece saat 02:00'da "FULL Backup" almadan evvel, "Transaction Log Backup" almak doğru bir yaklaşım mıdır?
- Bir zararı olur mu?
- Maksadım log dosyasını nizami yollardan küçültmek. Yoksa bu "Log Backup"ı kullanacağımdan değil.


- Diyelim ki elimde gece alınmış "Full Backup" ve saat 12:00'da alınmış bir "Differential Backup" var. Saat 12:30'da geriye dönmem gerekti.
- Bu ikisi yeterli değil mi?
- Aynı durumda saat 12:00'da alınmış bir "Log Backup" olsaydı ne farkı olacaktı?
- Yani herhangi bir zamanda alınmış "Log Backup" ile "Differential Backup" arasında nasıl bir fark var geriye dönme açısından?


Selamlar.
yunusKaradag  
#6 Gönderildi : 24 Kasım 2015 Salı 10:28:53(UTC)
yunusKaradag

Sıralama: Member

Gruplar: Registered
Katılan: 17.10.2014(UTC)
Mesajlar: 22
Bay
Austria
Konum: aaase

6 Mesajına Toplam 6 Kere Teşekkür Edildi.
Amacı log'u küçültmekse doğru değil, simple moda çekmek doğru yaklaşımdır.
Zararı olmaz log backup almanın sisteme ekstra yük getirmesinden başka.
Database i full modda tutumak sürekli log ları saklamak anlamına geldiği için ekstra performans kaybıdır çok büyük kayıp değil ama yinede lazım değilse simpleda tutulmalı.

Diff backup şöyle açıklayayım.

saat 10 da full aldınız, saat 11 de de diff backup. Bu durumda saat 10:30 a dönemezsiniz. ya saat 10a yada saat 11 e dönebilirsiniz yani aradaki bir saate dakikaya dönemezsiniz.

ama saat 11 de log backup almış olsaydın saat 10:01:08 'e istersen 10:21:33 'e vb. istediğin dakikaya dönebilirdin. Fark bu.
zamkinos  
#7 Gönderildi : 24 Kasım 2015 Salı 10:31:56(UTC)
zamkinos

Sıralama: Member

Gruplar: Registered
Katılan: 23.11.2015(UTC)
Mesajlar: 14
Turkey

1 Kere Teşekkür Etti.
Originally Posted by: yunusKaradag Go to Quoted Post
Amacı log'u küçültmekse doğru değil, simple moda çekmek doğru yaklaşımdır.
Zararı olmaz log backup almanın sisteme ekstra yük getirmesinden başka.
Database i full modda tutumak sürekli log ları saklamak anlamına geldiği için ekstra performans kaybıdır çok büyük kayıp değil ama yinede lazım değilse simpleda tutulmalı.

Diff backup şöyle açıklayayım.

saat 10 da full aldınız, saat 11 de de diff backup. Bu durumda saat 10:30 a dönemezsiniz. ya saat 10a yada saat 11 e dönebilirsiniz yani aradaki bir saate dakikaya dönemezsiniz.

ama saat 11 de log backup almış olsaydın saat 10:01:08 'e istersen 10:21:33 'e vb. istediğin dakikaya dönebilirdin. Fark bu.



Peki veritabanı Simple Recovery Mode'da ise Transaction Log'u nasıl küçültebiliriz?


Selamlar.
yunusKaradag  
#8 Gönderildi : 24 Kasım 2015 Salı 10:44:11(UTC)
yunusKaradag

Sıralama: Member

Gruplar: Registered
Katılan: 17.10.2014(UTC)
Mesajlar: 22
Bay
Austria
Konum: aaase

6 Mesajına Toplam 6 Kere Teşekkür Edildi.
Otomatik küçülecektir zaten, yinede olağan dışı bir durumda aşağıdaki şekilde küçülte bilirsin.

USE [DBNAME]
GO
DBCC SHRINKFILE (N'DATABASE_logfile_Name' , 0, TRUNCATEONLY)
GO

Düzenle Kullanıcı Tarafından 24 Kasım 2015 Salı 14:49:13(UTC)  | Sebep: Sebep Bildirilmesi

zamkinos  
#9 Gönderildi : 24 Kasım 2015 Salı 11:08:19(UTC)
zamkinos

Sıralama: Member

Gruplar: Registered
Katılan: 23.11.2015(UTC)
Mesajlar: 14
Turkey

1 Kere Teşekkür Etti.
Originally Posted by: yunusKaradag Go to Quoted Post
Otomatik küçülecektir zaten, yinede olağan dışı bir durumda aşağıdaki şekilde küçülte bilirsin.

USE [DBNAME]
GO
DBCC SHRINKDATABASE(N'DBNAME' )
GO


Bazı okuduğum makalelerde log shrink yapmanın da performansa negatif etkisi olduğundan bahsediyordu.

Maintenance Plan içerisinde seçilen database shrink işi de yukarıdaki işlemi yapıyor değil mi?
Bu komut log dosyasını mı sıkıştırıyor, sadece data dosyasını mı, yoksa her ikisini birden mi?

Selamlar.
yunusKaradag  
#10 Gönderildi : 24 Kasım 2015 Salı 16:24:18(UTC)
yunusKaradag

Sıralama: Member

Gruplar: Registered
Katılan: 17.10.2014(UTC)
Mesajlar: 22
Bay
Austria
Konum: aaase

6 Mesajına Toplam 6 Kere Teşekkür Edildi.
yanlış yazmışım şimdi düzelttim.

Okuduğun makaleler gayet doğru söylemiş mümkün olduğunca log file ı shrinklememek gerekir. Ve bu işin best practices file en son nereye kadar büyüyorsa o kadar diski geniş yerde tutmak dır. Simple moda da olursa zaten ektrem bir durum olmadığı müddetçe shrink etmeye lüzum duymayacaksın.

Ama sql bazı durumlarda TB lara varan log yapabilir, tb boyutunda log file tutmak da akıl karı değildir.

Log dosyası içerisinde eğer log üreten açık bir transaction yok ise bahsi geçen size allocate edilmiş olarak hazırda bekliyordur,
yani free space %90 - %100 arasında dır. Bu alanı shrink ederseniz kısa sürede küçülüp bir performans sıkıntısı olmadığını göreceksiniz. Yanlız eğer kullanılan alanı shrinklemek istersen o işte hem performans problemi hem de corruption oluşturabilir.
thanks yunusKaradag: 1 Kişi mesajın için Teşekkür Etti.
zamkinos 24.11.2015(UTC) tarihinde


Bu konudaki kullanıcılar
Guest
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.