Perşembe , 14 Aralık 2017

SQL Server Development

SQL Server Execution Plan Bölüm 1 – Execution Plan Kavrami ve Çesitleri

Execution plan en basit ifadesiyle Query Optimizer tarafından hesaplanan ve bir sorgunun en ideal şekilde çalışması için bize önerilen optimum yoldur. Diğer bir ifadeyle bir Execution plan bize bir sorgunun çağrıldığında nasıl çalışacağını veya daha önce nasıl çalıştığını gösterir. Özellikle Veritabanı yöneticilerinin çok sık karşılaştığı performans problemlerini analiz ederken öncelikle çalışma süresi çok uzun süre alan sorgular tespit edilir ve ... Devamını Oku »

SQL Server Check Constraint’lerin Performansa Etkisi

SQL Server’da veri bütünlüğünü sağlamak için check Constraint’leri çok sık kullanıyoruz. Yoğun kullanılan Check Constraint objelerinin özellikle büyük yapılarda performansa etkisi olup olmadığı çok sık soruluyor. Video’da bu konuyu demolarla detaylı bir şekilde ele aldık.   Devamını Oku »

SQL Server Temp Table Vs Table Variable

SQL Server üzerinde bir veri setini geçici olarak depolamak için kullanılabilecek Temp Table ile Table Varible arasında seçim yaparken özellikle büyük ölçekli uygulamalarda performans için bilmemiz ve dikkat etmemiz gereken bir çok nokta olacaktır. Bu noktalara detaylı bir şekilde aşağıdaki eğitim videosunda değindik.   Devamını Oku »

SQL Server 2016 Row Level Security

Her şirket için kendi verileri hayati önem taşımaktadır. Bu sebeple veritabanı güvenliği büyük önem arz etmektedir. SQL Server üzerinde verilerimizin güvenliğini sağlamak için birçok yöntem kullanılıyor olsa bile en önemlisi yetkilendirme konusudur. Yani veritabanımızda tutulan verilere hangi kullanıcının hangi yetkiler erişebileceğidir. SQL Serverda yetkilendirme yaparken bir kullanıcıya var olan tüm tablolar için okuma yetkisi verebileceğimiz gibi, sadece istediğimiz tabloları sorgulaması ... Devamını Oku »

SQL Server Management Studio Üzerinde Kullanıcıların Görebildikleri Veritabanı Listesini Kısıtlamak

Hemen hemen her eğitimde konu SQL Server güvenliğine geldiğinde sık karşılaştığımız sorulardan biri de kullanıcının yetkisi olmadığı halde SQL Server Management Stdio kullanarak SQL Servera bağlandıklarında tüm veritabanlarını görmelerinin nedenidir. Aslında bu durum SQL Server ile doğrudan ilişkili değildir. SQL Serverı yönetmek için kullandığımız araç olan SQL Server Management Stdio aracının tasarımı yapılırken hızlı açılabilmesi için dinamik olarak oluşturulan ve ... Devamını Oku »

SQL Server 2016 Dynamic Data Masking

SQL Server 2016 ile beraber gelen önemli güvenlik özelliklerinden biri Dynamic Data Masking özelliğidir. Bu özellik sayesinde SQL Serverda tutulan ve sorgulama yapan kullanıcılardan gizlemek istediğimiz önemli verilerimizi kolayca maskeleyebiliyoruz. Maskeleme kavramını biraz açacak olursak, maskeleme işlemi temelde var olan veriyi değiştirmeden sadece kullanıcıya gösterirken verinin aslını değil bir kısmının gizlenerek gösterilmesidir. Örneğin hemen hemen bir çok online satış yapan ... Devamını Oku »

SQL Server 2016 Temporal Table – Bölüm 2

Bir önceki yazımızda SQL Server 2016 ile beraber gelen Temporal tables özelliğine detaylı bir şekilde değinip tablolarımızı nasıl oluşturabileceğimizi gördük. Şimdi ise önceki yazımızda oluşturduğumuz Temporal Table objeleri üzerinde uygulama yapalım. İlk olarak Temporal tablomuzu ve History tablosunu aşağıdaki gibi sorgulayalım. Yukarıdaki resimde gördüğümüz gibi Urun tablomuzda kayıt varken UrunHistory tablomuzda şuan için herhangi bir kayıt yok. Şimdi 1 numaralı ... Devamını Oku »

SQL Server 2016 Temporal Table – Bölüm 1

SQL Serverda bir tablo üzerinde yapılan DML işlemlerinin izlenip yapılan işlemlerin tablomuzla hemen hemen aynı yapıya sahip başka tabloya taşınması, hem tablo üzerinde yapılan değişikliklerin izlenmesi hem de tablomuzda var olan verinin değişim trendini izlemek için hayati öneme sahiptir. Bu sebeple birçok sistemde kullanılan tablolarımızla aynı yapıda ve tablo adının sonuna log veya History ifadesi eklenerek yeni tablolar oluşturulup herhangi ... Devamını Oku »

SQL Server 2016 Live Query Statistics

SQL Server 2016 ile beraber gelen Live Query Statistics(LQS) özelliği sorgularımızın performansı hakkında bize detaylı bilgi sunup, özellikle yavaş çalışan sorgularımızda sorunun belirlenmesi için çok kullanışlı bir özelliktir. Bu özellik sayesinde çalışan sorgularımızın hangi kısmının ne kadarının tamamlandığını Execution plan ekranında görebiliyoruz. Daha açık bir ifadeyle bildiğiniz gibi SQL Server üzerinde bir sorguyu çalıştırdığımızda SQL Server sorgumuza çalıştırmadan önce sorgumuzun ... Devamını Oku »