Isolation Levels 2

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 […]

Isolation Levels 1

Isolation Level, bir transaction’ın bir işlemi karşısında diğer transaction’ların nasıl davranacağını belirler. Öncelikle veritabanında oluşabilecek concurrency sorunlarını ele alalım. Daha sonra bu sorunların hangi isolation Level’da nasıl ortaya çıktığını örneklerle inceleyeceğiz.   Dirty Read: Transaction select yaptığında, başka bir transaction tarafından yapılan update’in commit edilmemiş halini okur. Diğer transaction commit yerine rollback yaptığı takdirde, ilk […]

Joblarımızı Proxy Hesabı ile Çalıştırmak

Bildiğiniz gibi SQL Server Instance kurulumu yaparken ve sql server servisini  ya da sql server agent servisini,sql server configuration manager üzerinden değiştirirken, sql server servisi ve sql server agent servisi için tanımladığımız kullanıcılar, ihtiyaçları olabilecek minimum yetkilerle otomatik olarak yetkilendiriliyorlar. Tavsiye edilmemesine rağmen bazı yerlerde bu hesaplara sysadmin ve Windows üzerinde lokal admin hakları veriliyor. […]

Parameter Sniffing

Parameter Sniffing; kullandığımız stored procedure’lerin, en son compile edilmiş hali için gelen parametrelere göre oluşturulan query plan’ının cache’de tutularak, başka parametlerle geldiğinde yeniden query plan oluşturmadan cache’deki query plan’ın kullanılması sonucu oluşur.  Kısaca stored procedure en son compile edildiğinde gelen parametreye göre bir query plan oluşturulduğunda bu query plan gelecek bir sonraki parametre için uygun […]

Admin olmayan Loginlerin dmw’leri ve dmf’leri okuyabilmesi için gerekli yetkiyi vermek

Bazı kullanıcılar veritabanlarına gelen sorguları görmek için yetkiye ihtiyaç duyabilirler. SQL Server dmw(Dynamic Management View)’ler ve dmf(dynamic management functions)’ler vasıtasayıla bu sorguları loginler görebilir. Fakat dmw’leri ve dmf’leri sorgulayabilmek için login’e server seviyesinde VIEW_SERVER_STATE yetkisinin verilmesi gerekir. USE [master] GO GRANT VIEW SERVER STATE TO [Loginİsmi] GO Login’e bu yetkiyi verdiğimizde kendi veritabanının dışında o […]