Kategori: MS SQL

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

Diskimizi maksimum performansta kullanabiliyor muyuz?

Bu makaleyi anlamak için aşağıdaki kavramları bilmemiz gerekir. Page: SQL Server storage’daki en temel birimdir. Her Page 8 KB alandan oluşur. Extent: Fiziksel olarak sıralı 8 page’in bir araya gelmesiyle oluşur. Boyutları 64 KB’tır. Extentler, page’lerin verimli bir şekilde yönetilmesine yardımcı olur. Extentler kendi aralarında ikiye ayrılır. Mixed Extent: Farklı nesnelere ait page’lerin bir araya […]