Ay: Temmuz 2017

UNION ve UNION ALL

SQL Server’da birden fazla sonuç kümesini birleştirmemiz gerektiğinde UNION veya UNION ALL işlemleri kullanılır. Mesela internet satışları ile mağaza satışları farklı tablolarda olan bir veritabanı düşünelim. Toplam satışları listelemek için bu iki tablonun birleşimi gerekir. UNION ve UNION ALL operatörlerini kullanırken dikkat etmemiz gereken hususlar şu şekildedir.   Bütün sonuç kümelerindeki sütun sayısı aynı olmalıdır. […]

Index Oluştururken Sorgudaki Order By Yönüne Bakmak(ASC,DESC)

Bu makaleyi okumaya başlamadan önce index’ler ile ilgili daha detaylı bilgi almak için “SQL Server’da Index Kavramı ve Performansa Etkisi” isimli makaleyi okumanızı tavsiye ederim.   Index oluştururken, Order By ifadesinde index yoksa sorgu gelen sonuç kümesini sıralayacaktır ve ayrıca bir sort maliyeti ortaya çıkacaktır. Ayrıca index’i oluşturmamızı gerektiren sorgudaki Order By ifadesi için index […]

Instance Üzerindeki Veritabanlarından Sadece Standalone Olanları Listelemek

Özellikle Always On kullanıyorsanız ve bazı veritabanlarınızı always on yapısına geçirmediyseniz bazı durumlarda instance üzerinden bulunan ve ag’ye dahil olmayan veritabanlarının listesine ihtiyacınız oluyor.   Aşağıdaki 2 script’te instance üzerindeki veritabanlarından sadece standalone olanların listesini veriyor. İkincisini ilkini bulamadığımda yazdım. 🙂 Dilediğinizi kullanabilirsiniz. 1) select name from sys.sysdatabases where name not in( SELECT DISTINCT dbcs.database_name […]

Always ON’daki Primary Veritabanının Log Dosyasının ACTIVE_TRANSACTION Nedeniyle Dolması

Bu sorun Always On’da bugüne kadar yaşadığım ender problemlerden biri. Primary veritabanının log dosyası bir şekilde doluyor. Normalde log backup alınmazsa log dosyası dolar fakat burdaki problem biraz başka.   Log dosyasının dolma nedenini aşağıdaki script yardımıyla görebilirsiniz.   select log_reuse_wait_desc from sys.databases where name=’Veritabanı İsminiz‘   Makalemize konu olan problemde bu sorgu sonucu ACTIVE_TRANSACTION […]

SQL Server Veri Tipleri

Veritabanının gereksiz büyümesini engellemek için tabloları tasarlarken SQL Server Veri Tiplerini doğru belirlemek çok kritik bir adımdır. Veri tiplerinin diskte kapladığı alan değişmektedir.   Örneğin tablonuzda sayı tiplerinden birini barındıracak bir alan olsun. Eğer bu alanın değeri 32768’i hiçbir zaman geçmeyecekse smallint olarak tanımlayabilirsiniz. Çünkü smallint’in maksimum değeri 32768’dir. Ve diskte 2 byte yer kaplar. […]