Kategori: GENEL MİMARİ

SQL Server ACID Kuralları

ACID, ilişkisel veritabanı yönetim sistemlerinin(RDBMS) sağlaması gereken 4 ana kuraldır. İlişkisel veritabanları ve sql server hakkında daha detaylı bilgi almak için “SQL Server Nedir?” isimli makaleyi okumak isteyebilirsiniz. ACID Kuralları:   Atomicity (Bölünmezlik): Ya hep Ya Hiç prensibini benimser. Bir transaction içersinde bir işlem fail ediyorsa tüm işlemler her durumda(sunucu kapanması , hata alınması) fail etmelidir. […]

SQL Server Veritabanı Yöneticisinin Yol Haritası

Bu makalede sql server veritabanı yöneticisinin yapması gereken işlemleri madde madde belirterek her maddenin nasıl yapıldığıyla ilgili makalelere link vereceğim. Bu şekilde yeni veritabanı yöneticisi adayları için bir rehber olmasını hedefliyorum. İşletim Sistemi Logları ve SQL Server logları her gün kontrol edilmeli ve sıradışı bir hata varsa müdahale edilmelidir. “İşletim Sistemi ve SQL Server Log’larını […]

Page Header ve İçeriği

SQL Server’da her page’in ilk 96 byte’lık bölümü page header olarak adlandırılır. Bu makalemizde page header içinde tutulan verileri detaylı olarak göreceğiz. Yapacağımız örnekleri birebir uygulamak için AdventureWorks2014 veritabanını sisteminize restore edebilirsiniz. Page Header’ı incelemek için DBCC Page komutunu çalıştırıyorum. DBCC Page ile ilgili detaylı bilgiyi “SQL Server Page Yapısı ve DBCC Page” isimli makaleden […]

DBCC UPDATEUSAGE Nedir Ve Nasıl Kullanılır

DBCC UPDATEUSAGE Page ve row sayılarındaki hataları tespit eder ve düzeltir.   SQL Server 2005 öncesinde bazı tabloların ve index’lerin satır sayıları negatif gelebiliyordu. DBCC CHECKDB komutunu çalıştırdığınızda DBCC CHECKDB bu kontrolü yapar ve böyle bir durum varsa DBCC UPDATEUSAGE komutunun kullanılmasını tavsiye eder.   Aşağıdaki komut yardımıyla Test veritabanı için bu kontrol yapılır.   […]

Lock Compatibility Nedir

Lock Compatibility(Uyumluluğu), birden fazla transaction’ın aynı anda bir kaynağı(row, page) kilitleme isteği oluştuğunda gerekli kontrolü sağlar. Eğer kaynak bir transaction tarafından daha önce kilitli ise(örneğin kaynak üzerinde Exclusive Lock olduğunu farzedin) bu kaynak üzerinde lock(kilit) koymak isteyen transaction’ın koymak istediği lock’ın ilk koyulan lock çeşidi(örneğimizde Exclusive Lock) ile uyumlu olması gerekir. Eğer ikinci gelen lock […]