Ay: Şubat 2017

Optimistic ve Pessimistic Concurrency Control Nedir

Birden fazla session veritabanında aynı anda bir değişiklik yapmak istediğinde session’ların birbirini olumsuz şekilde etkilememesi için yapılan kontrol’e Concurrency Control(Eş zamanlılık Kontrolü) denir.   Concurrency Control’ün iki çeşidi vardır:   Pessimistic Concurrency Control Pessimistic, yani kötümser eş zamanlılık kontrolünde bir kullanıcı bir kaydı değiştirmek istediğinde o kayda kilit koyar ve o kaydı başkası değiştiremez. İlk […]

SQL Server Lock(Kilit) Çeşitleri

SQL Server, eş zamanlı gelen sorgu isteklerinin veriye nasıl erişeceğini belirleyen farklı lock çeşitleri uygular. Örneğin aynı kaydı bir kullanıcının okumak istediğini diğer kullanıcının değiştirmek istediğini düşünün.   Biri değiştirmeye çalışırken diğeri okuyabilecekmi? Ya da biri okurken diğer değiştirebilecek mi? Lock çeşitleri ile ilgili detaylı bilgiyi aşağıdaki tabloda bulabilirsiniz. Lock çeşitlerinin davranış şekilleri isolation level […]

Compatibility Level Nedir Ve Nasıl Değiştirilir

Compatibility Level, bazı veritabanı davranışlarını SQL Server’ın belirtilen sürümü ile uyumlu çalışacak şekilde ayarlar. Örneğin SQL Server 2008 ve öncesindeki compatibility level’lerde PIVOT komutu Recursive CTE içinde destekleniyordu. Ama SQL Server 2008 ve üstü compatibility level’lerde Recursive CTE içinde desteklenmiyor.   Bir uygulama düşünün SQL Server 2008 veritabanı kullanıyor ve veritabanı içersindeki bir fonksiyonda recursive […]

DBCC CHECKCONSTRAINTS Nedir

DBCC CHECKCONSTRAINTS bir tabloda belirtilen bir constraint’in ya da bütün constraint’lerin tutarlılığını kontrol eder.   Peki Constraint Nedir?   Constraint’ler veritabanındaki veri için konulan kısıtlamalardır. Birkaç constraint çeşidi vardır. Bu konstraint’lerin her biri ile ilgili makaleyi aşağıda bulabilirsiniz.   NOT NULL Tablo oluştururken kolonların sonuna konulan ve kolona gelen kaydın null olamayacak şekilde kısıtlayan constraint’dir. […]

DBCC CHECKFILEGROUP Nedir ve Ne Zaman Kullanılır

DBCC CHECKFILEGROUP ile filegroup üzerindeki tüm tablo ve indexed view’lerin tutarlılık testi yapılır. Filegroup’un ne olduğunu daha detaylı incelemek için “Veritabanı Oluşturmak Deyip Geçmeyin!” isimli makalemden faydalanabilirsiniz.   DBCC CHECKFILEGROUP aslında arka planda filegroup üzerinde DBCC CHECKALLOC’u, filegroup üzerindeki tüm tablolarda da DBCC CHECKTABLE’ı çalıştırır. DBCC CHECKDB ve DBCC CHECKTABLE ile çok benzer yapıda çalışır. […]