Kategori: MS SQL

Always On Alert Sistemi

SQL Server Always On kullanıcıları için takip edilmesi gereken birkaç önemli nokta vardır.   Availability Group’umuz failover mu olmuş? Secondary Sunucuya aktarım devam etmiyormu? Secondary Sunucuya yapılan aktarım resume olmuş mu?   Yukarıda belirttiğim işlemler için alert tanımlayıp böyle durumlar gerçekleştiğinde size mail atmasını sağlayabilirsiniz. Bu makaleden önce “Yeni Kurulumda yapılması gereken konfigurasyonlar” isimli makalemi […]

Tablolara yetki vermeden sadece View’e yetki verebilmek (Ownership Chains)

View içeriğinde başka bir veritabanındaki objeyi içermiyorsa sadece view’e select yetkisi verdiğiniz takdirde, yetki verdiğiniz login tablolara yetki vermeden view’i select çekebilecektir. Fakat view’in içeriğinde başka bir veritabanı kullanılıyorsa aşağıdaki gibi bir hata alırsınız.   Msg 229, Level 14, State 5, Line 2 The SELECT permission was denied on the object ‘sehir’, database ‘Test’, schema […]

Primary Key ve Foreign Key

Primary Key’ler tabloda unique’liği sağlar. Bir kolona primary key koyduğunuz da o kolona girilen bir değer sonraki gelecek insertler için tekrar girilemez. Örneğing ID kolonuna primary key koydunuz ve ilk insert’ünüzde 1 değerini set ettiniz. İkinci insert’ünüzde tekrar 1 değerini veremezsiniz. Primary Key tanımlı bir kolona null değer girilemez. Eğer unique’liği sağlayan bir kolonunuz varsa […]

Isolation Levels 3

Bu makalede RCSI ve Snapshot Isolation farklarını ve bu Isolation Level’leri kullandığımız’da oluşabilecek tutarsızlıkları inceleyeceğiz. İki Isolation Level’da da;Tempdb’de yeterince yer olmazsa, update’ler fail olmaz fakat versiyonlamada yapamaz. Bu yüzden selectler fail olabilir. Snapshot Isolation Level’ında update’ler conflict olabilir. RCSI’da bu gerçekleşmez. RCSI, Snapshot Isolation Level’a göre, tempdb’de daha az yer tüketir. RCSI Distrubuted Transaction […]

Isolation Levels 2

1) Read Committed Snapshot(RCSI): Read Committed Isolation Level’ın row versioning kullanan halidir. SQL Server 2005 ile gelen bir Isolation Level’dır. Diğer Isolation Level lardan farklı olarak SET TRANSACTION ISOLATION LEVEL komutuyla set edilmez. Bu Isolation Level veritabanı bazlı set edilebilir. Set edildiğinde veritabanındaki tüm transactionlar bu şekilde çalışacaktır. Bu nedenden dolayı , bu Isolation Level’a geçerken uygulamada […]