Pazartesi , 23 Ekim 2017

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 »

SQL Server 2016 Truncate Table Komutu

SQL Serverda tablomuzda tutulan verileri silmek için iki komut kullanabiliriz. Bunlardan bir tanesi TRUNCATE iken diğeri ise DELETE komutudur. Her iki komut da tablolarımızdaki verileri silmek için kullanılsa da her ikisinin de farklı yönleri vardır. Örneğin TRUNCATE TABLE komutu ile tablolarımızda bulunan verinin tamamını hızlıca silebiliriz. Çünkü TRUNCATE TABLE komutu veriyi silerken satır satır silmek yerine verinin tutulduğu pagelerin referanslarını ... Devamını Oku »

SQL Serverda Küçük Boyutlu Tablolardaki Yüksek Fragmentation Oranı

İndekslerin fragmantasyon oranlarının düzenli bir şekilde takip edilmesi ve fragmantasyon oranının yüksek olduğu durumlarda indeks üzerinde Rebuild veya Reorganize işlemlerinin yapılması veritabanı performansı için hayati önem taşımaktadır. Özellikle küçük boyutlu tablolarda fragmantasyon oranını kontrol ettiğimizde fragmantasyon oranının yüksek olduğunu, hatta ilgili indeksimizi Rebuild/Reorganize ettiğimizde dahi bu oranın düşmediği görebiliriz. Şimdi hangi durumlarda böyle bir sorunla karşılaşabileceğimizi ve sebebini bir örnek ... Devamını Oku »

Farkli Collation Kullaniminin Sorgu Performansina Etkisi

Collation, SQL Serverda tutulan metinsel verilerin nasıl davranacağını belirten ayardır. Collation ayarı SQL Serverda hiyerarşik olarak ayarlanır. Yani Hem SQL Server için Collation seçilirken aynı zamanda veritabanı için de farklı bir Collation seçilebilir. Hatta oluşturduğumuz tabloda metinsel veri içeren kolonlarımızın bile Collation değeri farklı olabilir. Bu sebeple Collation değeri farklı olan iki tablodaki verileri karşılaştırmaya çalıştığımızda aşağıdaki gibi bir hata ... Devamını Oku »

SQL Server 2016 (CTP2) Native JSON Destegi

JSON(JavaScript Object Notation), Xml’e benzer olarak programlama dilinden bağımsız uygulamalar arasında veri alışverişi yaparken kullanılan javascript tabanlı bir formattır. JSON formatında veriler key ve value şeklinde tutulmaktadır. Örneğin aşağıdaki gibi bir kişi bilgisini JSON formatında belirtebiliriz. { "name": "ismail", "city": "istanbul", "job": "dba" } Yukarıdaki JSON formatındaki veriyi incelediğimizde her key değerinin tırnak içinde yazıldığını ve bu key’e ait olan ... Devamını Oku »