İkinci Bir Log Dosyası Oluşturma

Bu makalede ikinci bir log dosya oluşturma işlemini ele almış olacağım. Karşılaşmış olduğum bir sorun üzerine bu makaleyi yazma gereği duydum. Yazım 2 makaleden oluşmaktadır. Bir gün bir veritabanımızın ldf dosyasının boyutu maksimum sınır olan 2 TB olmuştu böyle bir sorunu çözmek için ikinci bir log dosyası oluşturmuştuk. Neden oluşturduğumuz bu makaleden sonraki makalenin konusu olmuş olacak. Çünkü ikinci bir log dosyası oluşturmak mantıklı değil neden diye soracaksanız bir veritabanında sadece bir log dosyası aktif olabilir. Kısacası ya ldf dosyamız dolmuştur veya ldf dosyamızın olduğu diskte yer olmadığından başka bir disk altında büyütülür. Başka bir disk altında büyütmek tek sunucu üzerinde çalışan databaseler için geçerlidir. AlwaysOn gibi high availability çözümlerinde farklı bir disk altında olması sistemin çalışmamasına sebep olacaktır. Herhangi bir database altında  birden fazla log dosyası olduğunda  sql server sadece bir log dosyasına yazar demiştik. Bu yazma işlemi için hangi log dosyasının autogrowth değeri açıksa veritabanı altında gelen logları […]

İkinci Bir Log Dosyası Oluşturma

Bu makalede ikinci bir log dosya oluşturma işlemini ele almış olacağım. Karşılaşmış olduğum bir sorun üzerine bu makaleyi yazma gereği duydum. Yazım 2 makaleden oluşmaktadır. Bir gün bir veritabanımızın ldf dosyasının boyutu maksimum sınır olan 2 TB olmuştu böyle bir sorunu çözmek için ikinci bir log dosyası oluşturmuştuk. Neden oluşturduğumuz bu makaleden sonraki makalenin konusu olmuş olacak. Çünkü ikinci bir log dosyası oluşturmak mantıklı değil neden diye soracaksanız bir veritabanında sadece bir log dosyası aktif olabilir. Kısacası ya ldf dosyamız dolmuştur veya ldf dosyamızın olduğu diskte yer olmadığından başka bir disk altında büyütülür. Başka bir disk altında büyütmek tek sunucu üzerinde çalışan databaseler için geçerlidir. AlwaysOn gibi high availability çözümlerinde farklı bir disk altında olması sistemin çalışmamasına sebep olacaktır.

Herhangi bir database altında  birden fazla log dosyası olduğunda  sql server sadece bir log dosyasına yazar demiştik. Bu yazma işlemi için hangi log dosyasının autogrowth değeri açıksa veritabanı altında gelen logları yeni belirmiş olduğumuz ldf’e yazar. Sadece autogrowth değerine bakmaz  açık olan ldf’e baktıktan sonra diskte yeterli alan olup olmadığına da bakar.

İkinci bir log dosyası oluşturmak için ilgili veritabanına sağ tıklayıp properties’a girilir.

Properties dedikten sonra files sekmesinde sağ alt tarafta bulunan add butonuna tıklayarak ikinci bir log dosyası oluşturulur.

Add dedikten sonra gelen ekranda Logical Name kısmından yeni oluşturulacak log için bir isim veriyoruz. İsmini TEST2_log2 olarak belirlemiş oldum.

Daha sonra File Type kısmında türünü LOG olarak seçiyoruz. Bu seçimi yaptıktan sonra filegroup kısmında log dosyalarının herhangi bir filegroup’u olmadığı için Not Applicable görünmektedir.

File type kısmında log seçiyoruz. Dikkat edersek Filegroup kısmı Not Applicable oldu. Daha sonra size kısmında log dosyasının başlangıç değerini ve uygun bir autogrowth değeri set ediyoruz.

Dikkat edersek ikinci log dosyamızda oluşmuş oldu. İki log dosyamızın autogrowth değerini aktif veya pasif olduğunu  görmek için Autogrowth / Maxsize kısmındaki 3 noktaya tıklayıp görebiliriz.

Yukarıdaki resimdede görüldüğü gibi iki log dosyamızdada Enable Autogrowth değeri açık. Sql server burada şu yöntemi kullanır. İlk log dosyasının enable autogrowth değeri aktifse bu log dosyasına gelen transaction için yeterli alan olup olmadığı kontrolü yapar eğer yeterli alan varsa ilk log dosyasına yazar. İlk log dosyası enable autogrowth aktif olduktan sonra transaction için yeterli alan yoksa oluşturmuş olduğumuz ikinci log dosyasına yazar. İkinci log dosyasında ldf dosyamız büyümeye devam eder. İkinci log dosyasından büyümesine karar verdikten sonra ilk log dosyasının Enable Autogrowth değerini pasif değere çekiyoruz.

Bu makalede ikinci bir log dosyası oluşturarak başlangıçta oluşmuş log dosyasını pasif hale getiriyoruz. Database’in yeni oluşan ldf üzerinde büyümesini sağlıyoruz. Bir sonraki makalede ise oluşturulmuş ikinci log dosyasını shrink yöntemiyle ilk log dosyası üzerinde büyütmüş olacağız.

Benzer Yazılar

İkinci Log Dosyasını Silmek – Empty file by migrating the data to other files in the same filegroup

SQL Server 6 saat önce

Bu makale bir önceki makale yapmış olduğumuz ikinci bir log dosyası oluşturduktan sonra ilk log dosyasında sorun giderilip, tekrardan eski yapımıza geçmek için  sonradan oluşturulan ikinci log dosyamızdaki veriler ilk log dosyamızın üzerine yazılıp daha sonra ikinci log dosyamızı silme işlemini ele alacağız.Neden ikinci bir log dosyası oluşturmamız gerektiğini ikinci bir log dosyası oluşturmak konulu makalemde belirtmiştim. Bu yapıyı sağlayacak olan shrink işleminde 3. Kısımda bulunan Empty file by migrating the data to other files in the same filegroup  yöntemi olmuş olacak. Şimdi uygulamalı bir şekilde oluşturmuş olduğum ikinci log dosyasını ilk log dosyası üzerine atalım. İkinci log dosyasında shrink işlemi yaparak boş alanları işletim sistemini iade ediyorum. Log dosyasının boşalması için shrink işleminden önce bir log backup alıyorum. Log backup aldıktan sonra veritabanının üzerine sağ tıklayıp Task>Shrink>Files sekmesine geliyorum. Gelen ekranda file type kısmında log seçtikten sonra file name kısmında shrink yapacağımız ikinci log dosyamızı seçiyorum. Shrink action bölümünde  Empty file […]

DDM(Dynamic Data Masking)

T-SQL 3 hafta önce

Veri yönetiminde karşılaşılan zorluklardan biri, hassas bilgilerin korunmasını sağlarken bu bilgilerin kullanımını sürdürmektir. Dynamic Data Masking (DDM), bu dengenin sağlanmasına yardımcı olarak, veri tabanlarındaki hassas verileri gizleyip, yetkili kullanıcıların yalnızca gerekli bilgileri görmesini mümkün kılar. Dynamic Data Masking’de default, email, ve partial olmak üzere üç adet parametre bulunmaktadır. default: Bu yöntem ile yapacağınız veri maskeleme işlemlerinde kolonun veri tipine göre maskeleme işlemi yapar. Metinsel kolonlarda veri maskelemeyi ‘xxx’ değeri ile yapar. Sayısal kolonlarda veri maskelemeyi tek byte’lık 0 değeri ile yapar. Tarihsel kolonlarda veri maskelemeyi ‘01.01.1700 00:00:00.0000000’ değeri ile yapar. email: E-Mail maskeleme işlemininde bu yöntemi kullanırız. Sadece ilk harfini alarak geri kalanını “XXX@XXXX.com” şeklinde şifreler. Örneğin;FXXX@XXXX.com partial: Veriyi istediğiniz formatta maskeleyebileceğiniz fonksiyondur.Kullanımına Örnek vermek gerekirse; partial(2,A,2) fonksiyonuyla maskelenmiş bir kolonda verilerin baştan iki karakteri ve sondan iki karakterini gösterecek kalan karakterlerini A harfiyle maskeleyecektir. random:Veriyi belirlemiş olduğunuz değerler arasında rastgele değerlerle maskeler. Numaric  alanlarda kullanılır. Örnek vermek gerekirse; random(10,20) fonksiyonuyla kolona gelen […]

ULAŞILAMAYAN DİSKTEKİ DATABASE FİLE KURTARMA

SQL Server 3 hafta önce

Bu makalede Sql Server ’da diskine ulaşılamayan bir veri tabanının files taşıma adımlarından bahsedeceğim. Diyelim ki database files konumlandırmış olduğumuz disklerden bir tanesi offline durumuna geçtiğini gördünüz ve diskin durumu hakkında net bilgi edinememektesiniz. Diskin içerisinde bulunan verileri kurtarmak istiyorsunuz ama disk offline durumda olduğundan dolayı içine erişim sağlayamıyorsunuz bu gibi durumda benim kullanmış olduğum bir yöntemi sizinle paylaşmak istiyorum, Robocopy. Şimdi bir örnek üzerinden adım adım neler yapabileceğimize bakalım. Öncelikle database files konumlandırını tespit ediyoruz; SELECT name as FileLogicalName, physical_name as FileLocation FROM sys.master_files WHERE database_id =DB_ID(N’MuratTest’) Görsel – 1   Database files konumlandırını tespit ettikten sonra offline durumuna getirerek ilgili files konumlarını değiştireceğiz. 1) Öncelikle database offline state çekiyoruz. use master GO ALTER DATABASE [MuratTest] SET OFFLINE WITH ROLLBACK IMMEDIATE 2) Database file taşıma işlemlerini gerçekleştiriyoruz, Command Prompt Rus aas administrator ile çalıştırılır; robocopy D:\Data3\Data D:\Data4\Data /mir /mt:60 /r:2 /w:5 /np /ts /bytes /xd >>D:\Data3\log1.txt Görsel – 2 […]

0 Yorum

Yorum Yaz

Rastgele